第22节--DML语言之删除语句

删除语句

语法:方式一

delete from 表名 where 筛选条件(删除整行)

单表的删除

1. delete from 表名 where 筛选条件

案例:删除手机号以9结尾的女神信息

delete from beauty where phone like '%9';
 

 

2. 多表的删除

①sql92语法:delete 别名 from 表1 别名,表2 别名

where 连接条件

and 筛选条件

 

②sql99语法

delete 表1的别名或表2的别名 from 表1 别名 inner/left/right join 表2 别名 on 连接条件 where筛选条件

 

删除张无忌的女朋友信息

delete b from beauty b inner join boys bo on b.boyfriend_id=bo.id where bo.boyname='张无忌';
案例3.删除黄晓明的信息及其女朋友的信息

Delete bo, b FROM beauty b INNER JOIN boys bo
ON bo.id=b.boyfriend_id
WHERE bo.boyname='黄晓明';

 

方式二: truncate table 表名

 

案例:将魅力值>100的男神信息删除

Truncate table boys;

 

delete  pk  truncate

1. delete 可以加where 条件 truncate 不能加。

2. truncate 删除整个表,效率高。

3. 假如要删除的表中有自增长列,使用delete删除后,再插入数据,自增长列的值从断点开始,而 truncate删除后,再插入数据自增长列的值从1开始。

4. truncate 删除没有返回值,delete删除有返回值。

5. truncate 删除不能回滚,delete删除后可以回滚。

 

上一篇:Mysql第四篇【DML常见操作】


下一篇:Mysql修改字段为默认空