5.1 DELETE FROM 语句
SQL 中最容易做的就是删除数据。您可以非常快速地删除所有内容,甚至没有人会要求您进行任何确认。
让我们从最简单的场景开始:如何删除表中的一行。
这是您最常看到的场景,通常是删除特定记录,标准查询通常如下所示:
DELETE FROM table
WHERE id = 133;
这是唯一一个不需要指定列名的查询:毕竟,数据会立即按行删除。
第二种情况是删除 id 列表给出的行,这里的一切也很简单:
DELETE FROM table
WHERE id IN (1, 2, 3, …);
第三种情况是删除符合特定条件的行:
DELETE FROM table
WHERE condition;
比方说我们想解雇我们所有的程序员,那么我们需要写一个像这样的请求:
DELETE FROM employee
WHERE occupation = 'Programmer';
最后,如果你想删除所有记录,你可以这样写一个查询:
DELETE FROM table
这个简单的查询足以从表中删除所有记录。顺便说一句,在这种情况下不会有 Ctrl + Z。录音只是被删除而无法恢复,仅此而已。因此,更频繁地进行备份。
5.2 删除所有内容
为了快速删除(让用户头疼),SQL 多了几个命令。
如何快速删除一个表中的所有数据?使用运算符 TRUNCATE
:
TRUNCATE TABLE table
表名中的一个拼写错误 - 并为您提供了几天的数据恢复。很高兴您不是数据库管理员。
如果您不仅需要删除表中的数据,还需要删除表本身,那么可以使用一个运算符 DROP
:
DROP TABLE table
顺便说一句,数据库模式也有类似的选项。如果要删除数据库本身,则:
DROP SCHEME database
或者:
DROP DATABASE database
您还可以使用 DROP 删除:
- 事件
- 功能
- 程序
- 指数
- 看法
- 扳机
这里有几个与数据删除相关的有趣故事:
休息日。由于系统管理员错误,GitLab 删除了 300 GB 的客户数据
GO TO FULL VERSION