0%

mysql—DML、DQL操作

DML:数据操作语言,用来对数据库表中的数据进行增删改查

添加数据(INSERT):

注意:

1.插入数据时,指定的字段顺序需要与值的顺序是一一对应的。

2.字符串和日期型数据包含在引号中

3.插入的数据大小,应该在字段的规定范围内

给指定字段添加数据

INSERT INTO 表名(字段名1,字段名2,….) VALUES (值1,值2,……);

image-20220707153706210

image-20220707153640671

给全部字段添加数据

INSERT INTO 表名 VALUES (值1,值2,…..);

image-20220707154650692

image-20220707154631080

批量添加数据

INSERT INTO 表名 (字段名1,字段名1,…..) 表名 VALUES (值1,值2,…),(值1,值2,…),(值1,值2,…);

image-20220707155111218

image-20220707155130599

INSERT INTO 表名 VALUES (值1,值2,…),(值1,值2,…),(值1,值2,…);

修改数据(UPDATE):

UPDATE 表名 SET 字段名1=zhi1,字段名2=值2,…..[WHERE 条件];

注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

image-20220707160214210

image-20220707160156071

image-20220707160244926

删除数据(DELETE):

DELETE FROM 表名 [WHERE 条件];

注意:删除语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。删除语句不能删除某一个字段的值(可以使用UPDATE语句)。

image-20220707160638710

image-20220707160701421

image-20220707160723698

image-20220707160735308

DQL:数据查询语言,用来查询数据库中的记录

SELECT 字段列表

FROM 表名列表

WHERE 条件列表

GROUP 分组字段列表

HAVING 分组后条件列表

ORDER BY 排序字段列表

LIMIT 分页参数

1.基本查询:

查询多个字段:

SELECT 字段1,字段2,字段3…FROM 表名;

image-20220707162928622

SELECT * FROM 表名;

image-20220707163159780

设置别名:

SELECT 字段1 [AS 别名1],字段2[AS 别名2]….FROM 表名;

image-20220707163242287

去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

image-20220707163912847

2.条件查询

SELECT 字段列表 FROM 表名 WHERE 条件列表;

image-20220707164132268

image-20220707164148019

image-20220707201616273

image-20220707201638049

image-20220707201657726

image-20220707201719596

3.聚合函数

将一列数据作为一个整体,进行纵向计算。

常见的聚合函数:

image-20220707202036098

SELECT 聚合函数(字段列表) FROM 表名;

注意:所有的 null 值不参与统计;

image-20220707202707786

4.分组查询:

SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

注意:

执行顺序:where > 聚合函数 > hanving.

分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

WHERE和HAVING的区别:

1.执行时机不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组;而HAVING是分组之后对结果进行过滤。

2.判断条件不同:WHERE不能对聚合函数进行判断,而HAVING可以。

image-20220707203922524

5.排序查询

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

image-20220707204744756

image-20220707204752279

6.分页查询

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意:

1.起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。

2.分页查询是数据库的方言,不同数据库有不同的实现,Mysql中的LIMIT。

3.如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10;

image-20220707205922678