MySQL——删除语句
参考链接https://www.bilibili.com/video/BV12b411K7Zu?p=107删除语句方式一:delete语法单表的删除DELETE FROM表名WHERE筛选条件;多表的删除SQL92:DELETE表1的别名,表2的别名FROM表1 别名,表2 别名WHERE连接条件AND筛选条件;SQL99:DELETE表1的别名,表2的别名FROM表1 别名INNER|LEFT|
·
参考链接
- https://www.bilibili.com/video/BV12b411K7Zu?p=107
删除语句
方式一:delete
语法
单表的删除
DELETE FROM
表名
WHERE
筛选条件;
多表的删除
SQL92:
DELETE
表1的别名,
表2的别名
FROM
表1 别名,
表2 别名
WHERE
连接条件
AND
筛选条件;
SQL99:
DELETE
表1的别名,
表2的别名
FROM
表1 别名
INNER|LEFT|RIGHT JOIN
表2 别名
ON
连接条件
WHERE
筛选条件;
方式二:truncate
语法
TRUNCATE
表名;
案例
方式一
单表的删除
比如,“删除手机号以9结尾的女神信息”
DELETE FROM
beauty
WHERE
phone LIKE '%9';
多表的删除
比如,“删除张无忌的女朋友的信息”
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 TABLE boys;
两种删除方式比较
-
DELETE可以加WHERE条件,TRUNCATE不能加
-
TRUNCATE删除效率高
-
假如要删除的表中有自增长列,如果用DELETE删除后,再插入数据,自增长列的值从断点开始,而TRUNCATE删除后,再插入数据,自增长列的值从1开始。
-
TRUNCATE删除没有返回值,DELETE删除有返回值
-
TRUNCATE删除不能回滚,DELETE删除可以回滚
更多推荐
已为社区贡献1条内容
所有评论(0)