天天看点

MySQL基础之DML语句

DML(Data Manipulation Language)语句:数据操纵语句。

用途:用于添加、修改、删除和查询数据库记录,并检查数据完整性。

常用关键字:insert、update、delete、select等。

DML 操作的对象是库表的数据(记录)。

主要包括插入(insert)、更新(update)、删除(delete)和查询(select)。

DML 语句是开发人员使用最频繁的操作。

插入一条记录

一次性插入多条数据

更新单表数据

同时更新多个表的数据

通常用于根据一个表的字段来动态地更新另外一个表的字段

 在此说明:中括号 “[ ]” 代表的是可选参数,即可有可无的参数。

简单的条件查询。符号“*”代表查询所有字段,如果只想看其中某些列,则写表的列名。

别名

    给列名或表名取别名的关键字:AS 或者不写关键字。如:

不取别名,则查询结果的列名为表原本的列名;

取别名,则查询结果的列名为别名

MySQL基础之DML语句

删除单表记录

同时删除多个表的数据

说明:不加where 条件则删除全表数据

单表“增改查删”操作案例:

MySQL基础之DML语句

多表“删除”操作案例:

MySQL基础之DML语句

  再看个删除案例

MySQL基础之DML语句

 最后再看个删除案例

MySQL基础之DML语句

  多表删除结论:

  条件成立,则删除有条件表的对应数据,没条件的则全表删除;

  条件不成立,则都不删除。

留个疑问:多表删除不给where 条件会怎样呢?

关于同时更新多个表数据的操作,可以自行探索,毕竟有思考的学习最有价值。

DQL(Data Query Language)即数据库查询语言。

数据库查询语句就像玩积木一样,一块一块的拼凑,每个中括号“[]”代表一块积木。

先通过递进的方式一条一条列出查询语法。

MySQL基础之DML语句

distinct 关键字是对 “查询结果集” 去重,再看个例子就明白了。

MySQL基础之DML语句

常用的条件(condition)

MySQL基础之DML语句

其它常用条件具体怎么用,参考常用条件去操作。

说明:

where 是分组前的条件过滤;having 是分组后的条件过滤。

where 是用原表列名做条件过滤;having 是用查询结果集列名做条件过滤。

    优先选择where 条件过滤,这样可以减少结果集,进而提高分类聚合的效率。

中括号"[]"代表可选的意思,也就是说group by 前面的[where condition] 可有可无,后面的[with rollup] 和 [having condition] 也是可有可无。

MySQL基础之DML语句
MySQL基础之DML语句
MySQL基础之DML语句

单列排序:

MySQL基础之DML语句

多列排序:用符号 “,” 隔开即可

MySQL基础之DML语句

  又称为限制查询、范围查询、分页查询

例子1:从第1条开始,查询两条数据

例子2:从第2条开始,查询两条数据

MySQL基础之DML语句

=========================

= 以上就是关于单表查询的语法 =

= 以下则是关于两表联查的语法 =

在需要关联多个表数据时使用。 学习左连接和内连接即可。

左连接:选出左表所有的记录,不管右表有没有和它匹配;左表是主,关联右表信息

内连接:仅选出两张表中互相匹配的记录,没有匹配则结果为空

MySQL基础之DML语句

在需要另外一个查询结果作为查询条件时使用。子查询用“()” 括起来。

如:查询学生“张三”的成绩

MySQL基础之DML语句

某些情况下,子查询可以转化为连表查询。如上面的例子可以写成连表查询:

MySQL基础之DML语句

 将两个过多个表的查询结果合并成结果集输出。合并的条件是多个表的查询结果字段数要相同,注意是查询结果字段数不是表字段数。

MySQL基础之DML语句

查询结果字段数不等,则报错

MySQL基础之DML语句

固定查询结果集字段数

MySQL基础之DML语句

自行证明该执行顺序是否正确,也算是对前面所学知识的一个巩固。​

到此为止,关于日常操作最为频繁的表数据的插入(insert)、更新(update)、删除(delete)和查询(select)语句就讲完了。最为繁杂的查询语句,又名为DQL语句,是DML语句中的重点。

关注公众号学习更多有关数据库的知识和获取数据库免费电子书。

MySQL基础之DML语句

​​

继续阅读