1. SELECT语句
1.1 基本语法
SELECT语句是SQL中最基本也是最常用的语句,它用于从数据库中查询数据。其基本语法如下:
SELECT column1, column2, ... FROM table_name WHERE condition;
SELECT指定需要查询的列名;FROM指定需要查询的表名;WHERE指定筛选条件。
1.2 使用通配符查询
在SELECT语句中可以使用通配符*
来代替所有列名:
SELECT * FROM table_name;
该语句将查询表中所有列的数据。
1.3 使用函数查询
在SELECT语句中可以使用函数来对查询结果进行处理,如求和、计数、平均数等。
SELECT COUNT(column_name) FROM table_name;
以上示例查询table_name表中column_name列的数据数量。
2. INSERT语句
2.1 基本语法
INSERT语句用于向表中插入数据,其基本语法如下:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
INSERT INTO指定需要插入数据的表名;column1, column2, ...指定需要插入的列名;VALUES指定需要插入的数据值。
2.2 插入多行数据
可以在一条INSERT语句中插入多条数据:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...),
(value1, value2, ...),
(value1, value2, ...);
2.3 插入查询结果
可以使用SELECT语句来查询数据并将其插入到另一个表中:
INSERT INTO table1 (column1, column2, ...)
SELECT column1, column2, ...
FROM table2
WHERE condition;
以上示例查询table2表中符合条件的列数据,并插入到table1表中。
3. UPDATE语句
3.1 基本语法
UPDATE语句用于修改表中已有的数据,其基本语法如下:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
UPDATE指定需要修改的表名;SET指定需要修改的列名和对应的值;WHERE指定需要修改的数据行。
3.2 修改多行数据
可以在一条UPDATE语句中修改多条数据:
UPDATE table_name SET column1 = value1, column2 = value2, ...
WHERE column_name IN (value1, value2, ...);
以上示例将table_name表中column_name列的值为value1、value2、...的行的column1和column2列分别修改为value1和value2。
3.3 使用子查询修改数据
可以使用子查询来查询需要修改的数据并修改:
UPDATE table_name SET column1 = (SELECT expression FROM table2 WHERE condition)
WHERE condition;
以上示例查询table2表中符合条件的expression值,并将其修改为table_name表中满足condition的column1列的值。
4. DELETE语句
4.1 基本语法
DELETE语句用于删除表中的数据,其基本语法如下:
DELETE FROM table_name WHERE condition;
DELETE FROM指定需要删除数据的表名;WHERE指定需要删除的数据行。
4.2 删除所有数据
如果不指定WHERE条件,则会删除表中所有的数据:
DELETE FROM table_name;
4.3 使用子查询删除数据
可以使用子查询来查询需要删除的数据并删除:
DELETE FROM table_name WHERE column_name IN (SELECT column_name FROM table2 WHERE condition);
以上示例查询table2表中符合条件的column_name值,并将其在table_name表中删除。
5. JOIN语句
5.1 基本语法
JOIN语句用于将多个表中的数据连接起来,其基本语法如下:
SELECT * FROM table1 JOIN table2 ON condition;
JOIN指定需要连接的表名;ON指定连接条件。
5.2 INNER JOIN
INNER JOIN表示内连接,它将两个表中相同的行连接在一起:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON condition;
5.3 LEFT JOIN
LEFT JOIN表示左连接,它将左表中所有的行与右表中的匹配行连接在一起:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON condition;
5.4 RIGHT JOIN
RIGHT JOIN表示右连接,它将右表中所有的行与左表中的匹配行连接在一起:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON condition;
5.5 FULL JOIN
FULL JOIN表示全外连接,它将两个表中所有的行连接在一起,不匹配的行将填充NULL值:
SELECT column_name(s) FROM table1 FULL JOIN table2 ON condition;
6. UNION语句
6.1 基本语法
UNION语句用于合并两个或多个SELECT语句的结果集,其基本语法如下:
SELECT column_name(s) FROM table1 WHERE condition
UNION
SELECT column_name(s) FROM table2 WHERE condition;
以上示例将table1和table2表中满足条件的列合并在一起。
6.2 UNION ALL
UNION ALL与UNION作用相同,不同之处在于它不会剔除重复的行:
SELECT column_name(s) FROM table1 WHERE condition
UNION ALL
SELECT column_name(s) FROM table2 WHERE condition;