第一天:SQL入门基础
什么是SQL?
SQL(Structured Query Language)是一种用于管理关系数据库的语言。它允许用户创建、查询、更新和删除数据库中的数据。
SQL的基本语法
- SELECT:用于检索数据。
- FROM:指定要查询的表。
- WHERE:指定查询条件。
实例
SELECT * FROM employees WHERE age > 30;
这段代码会检索所有年龄大于30的员工信息。
第二天:深入理解表和列
表(Table)
表是数据库中的数据集合,由行(记录)和列(字段)组成。
列(Column)
列是表中的字段,用于存储特定类型的数据。
实例
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
department VARCHAR(50)
);
这段代码创建了一个名为employees的表,包含四个列:id、name、age和department。
第三天:数据类型
SQL支持多种数据类型,包括:
- 整数(INT)
- 文本(VARCHAR)
- 日期(DATE)
- 浮点数(FLOAT)
- 布尔值(BOOLEAN)
实例
ALTER TABLE employees ADD COLUMN salary FLOAT;
这段代码向employees表添加了一个名为salary的列,数据类型为浮点数。
第四天:查询数据
SELECT语句
使用SELECT语句可以查询表中的数据。
实例
SELECT name, age FROM employees;
这段代码会检索所有员工的姓名和年龄。
第五天:过滤数据
WHERE子句
WHERE子句用于过滤查询结果。
实例
SELECT * FROM employees WHERE age > 30;
这段代码会检索所有年龄大于30的员工信息。
第六天:排序数据
ORDER BY子句
ORDER BY子句用于对查询结果进行排序。
实例
SELECT * FROM employees ORDER BY age DESC;
这段代码会按照年龄降序排列所有员工信息。
第七天:聚合数据
聚合函数
聚合函数用于对一组值进行计算,如COUNT、SUM、AVG等。
实例
SELECT COUNT(*) FROM employees;
这段代码会计算employees表中记录的总数。
第八天:连接表
INNER JOIN
INNER JOIN用于连接两个表,并返回匹配的记录。
实例
SELECT employees.name, departments.department_name FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
这段代码会检索所有员工的姓名和所属部门的名称。
第九天:子查询
子查询
子查询是一个查询语句,它嵌套在另一个查询语句中。
实例
SELECT * FROM employees WHERE age > (SELECT AVG(age) FROM employees);
这段代码会检索所有年龄大于平均年龄的员工信息。
第十天:SQL高级技巧
事务
事务用于确保数据库操作的原子性、一致性、隔离性和持久性。
实例
START TRANSACTION;
INSERT INTO employees (name, age, department) VALUES ('John Doe', 25, 1);
UPDATE employees SET age = 26 WHERE id = 1;
COMMIT;
这段代码将两个操作作为一个事务执行。
通过十天的时间,你已经从SQL新手成长为小达人。现在,你可以轻松地查询、操作和优化数据库了。祝你在数据库领域取得更大的成就!
