DML语言之删除

方式一:使用delete
一、删除单表的记录★
语法:delete from 表名 【where 筛选条件】【limit 条目数】
eg:删除手机号以9结尾的女神信息
delete FROM beauty where phone like '%9';
二、级联删除[补充]
语法:
delete 别名1,别名2 from 表1 别名 
inner|left|right join 表2 别名 
on 连接条件
 【where 筛选条件】
eg:
#案例:删除张无忌的女朋友的信息

DELETE b
FROM beauty b
INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName`='张无忌';

#案例:删除黄晓明的信息以及他女朋友的信息
DELETE b,bo
FROM beauty b
INNER JOIN boys bo ON b.`boyfriend_id`=bo.`id`
WHERE bo.`boyName`='黄晓明';

方式二:使用truncate
语法:truncate table 表名
#案例:将魅力值>100的男神信息删除
truncate table boys ;
两种方式的区别【面试题】★

1.truncate删除后,如果再插入,标识列从1开始
  delete删除后,如果再插入,标识列从断点开始
2.delete可以添加筛选条件
 truncate不可以添加筛选条件
3.truncate效率较高
4.truncate没有返回值
delete可以返回受影响的行数
5.truncate不可以回滚
delete可以回滚

你可能感兴趣的:(数据库笔记)