参考链接

  1. https://www.bilibili.com/video/BV12b411K7Zu?p=107

删除语句

方式一:delete

语法
单表的删除
DELETE FROM
	表名
WHERE
	筛选条件;
多表的删除

SQL92:

DELETE1的别名,2的别名
FROM1 别名,2 别名
WHERE
	连接条件
AND
	筛选条件;

SQL99:

DELETE1的别名,2的别名
FROM1 别名
INNER|LEFT|RIGHT JOIN2 别名
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;

两种删除方式比较

  1. DELETE可以加WHERE条件,TRUNCATE不能加

  2. TRUNCATE删除效率高

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

  4. TRUNCATE删除没有返回值,DELETE删除有返回值

  5. TRUNCATE删除不能回滚,DELETE删除可以回滚

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐