DML:数据操作语言,用来对数据库表中的数据进行增删改查
添加数据(INSERT):
注意:
1.插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
2.字符串和日期型数据包含在引号中
3.插入的数据大小,应该在字段的规定范围内
给指定字段添加数据
INSERT INTO 表名(字段名1,字段名2,….) VALUES (值1,值2,……);
给全部字段添加数据
INSERT INTO 表名 VALUES (值1,值2,…..);
批量添加数据
INSERT INTO 表名 (字段名1,字段名1,…..) 表名 VALUES (值1,值2,…),(值1,值2,…),(值1,值2,…);
INSERT INTO 表名 VALUES (值1,值2,…),(值1,值2,…),(值1,值2,…);
修改数据(UPDATE):
UPDATE 表名 SET 字段名1=zhi1,字段名2=值2,…..[WHERE 条件];
注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
删除数据(DELETE):
DELETE FROM 表名 [WHERE 条件];
注意:删除语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。删除语句不能删除某一个字段的值(可以使用UPDATE语句)。
DQL:数据查询语言,用来查询数据库中的记录
SELECT 字段列表
FROM 表名列表
WHERE 条件列表
GROUP 分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT 分页参数
1.基本查询:
查询多个字段:
SELECT 字段1,字段2,字段3…FROM 表名;
SELECT * FROM 表名;
设置别名:
SELECT 字段1 [AS 别名1],字段2[AS 别名2]….FROM 表名;
去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
2.条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表;
3.聚合函数
将一列数据作为一个整体,进行纵向计算。
常见的聚合函数:
SELECT 聚合函数(字段列表) FROM 表名;
注意:所有的 null 值不参与统计;
4.分组查询:
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
注意:
执行顺序:where > 聚合函数 > hanving.
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
WHERE和HAVING的区别:
1.执行时机不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组;而HAVING是分组之后对结果进行过滤。
2.判断条件不同:WHERE不能对聚合函数进行判断,而HAVING可以。
5.排序查询
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
6.分页查询
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
注意:
1.起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。
2.分页查询是数据库的方言,不同数据库有不同的实现,Mysql中的LIMIT。
3.如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10;