SELECT

用于从数据库表中查询数据

SELECT column1, column2 FROM table_name;

FROM

指定要查询的数据表

SELECT * FROM students;

WHERE

用于过滤查询结果,指定查询条件

SELECT * FROM students WHERE age > 20;

ORDER BY

对查询结果进行排序

SELECT * FROM students ORDER BY age DESC;

GROUP BY

按指定列对数据进行分组

SELECT grade, COUNT(*) FROM students GROUP BY grade;

HAVING

对分组后的结果进行过滤

SELECT grade, AVG(score) FROM students GROUP BY grade HAVING AVG(score) > 80;

JOIN

用于连接两个或多个表

SELECT * FROM students s JOIN classes c ON s.class_id = c.id;

DISTINCT

去除查询结果中的重复记录

SELECT DISTINCT grade FROM students;

LIMIT

限制返回的记录数量

SELECT * FROM students LIMIT 10;

COUNT

统计记录数量

SELECT COUNT(*) FROM students;

SUM

计算数值列的总和

SELECT SUM(score) FROM exam_results;

AVG

计算数值列的平均值

SELECT AVG(score) FROM exam_results;

MAX

获取列的最大值

SELECT MAX(score) FROM exam_results;

MIN

获取列的最小值

SELECT MIN(score) FROM exam_results;

LIKE

用于模糊查询,支持通配符

SELECT * FROM students WHERE name LIKE '张%';

IN

判断值是否在指定列表中

SELECT * FROM students WHERE grade IN ('大一', '大二');

BETWEEN

查询在指定范围内的数据

SELECT * FROM students WHERE age BETWEEN 18 AND 22;

IS NULL

判断字段是否为空

SELECT * FROM students WHERE email IS NULL;

AS

为列或表指定别名

SELECT name AS student_name FROM students;

CASE WHEN

条件判断,根据不同条件返回不同值

SELECT name, CASE WHEN score >= 60 THEN '及格' ELSE '不及格' END FROM students;

UNION

合并多个查询结果,自动去重

SELECT name FROM students UNION SELECT name FROM teachers;

INSERT

向表中插入新记录

INSERT INTO students (name, age) VALUES ('张三', 20);

UPDATE

更新表中的记录

UPDATE students SET age = 21 WHERE id = 1;

DELETE

删除表中的记录

DELETE FROM students WHERE id = 1;