如何在mysql中使用DELETE语句删除记录

来源:这里教程网 时间:2026-02-28 20:22:52 作者:

在 MySQL 中,使用 DELETE 语句可以删除表中的数据记录。操作时需格外小心,因为删除是不可逆的,没有备份将无法恢复。

基本 DELETE 语法

删除数据的基本语法如下:

DELETE FROM 表名 WHERE 条件;

说明:

DELETE FROM 指定要从哪张表删除数据 WHERE 子句用于指定删除哪些行,非常关键 如果不加 WHERE,会删除表中所有记录

带条件删除(推荐方式)

通常我们只想删除满足特定条件的数据。例如,删除用户表中 ID 为 5 的记录:

DELETE FROM users WHERE id = 5;

也可以使用其他条件:

删除名字为 'John' 的用户:
DELETE FROM users WHERE name = 'John';
删除创建时间早于 2020 年的数据:
DELETE FROM logs WHERE created_at
删除多个 ID 的记录:
DELETE FROM users WHERE id IN (1, 3, 5);

删除所有数据(谨慎操作)

如果想清空整张表,可以省略 WHERE 子句:

DELETE FROM users;

这会删除 users 表中的所有行,但表结构保留。注意:这种方式逐行删除,效率低于 TRUNCATE,且会触发触发器。

安全删除建议

执行 DELETE 前建议采取以下措施:

先用 SELECT 验证条件是否正确:
SELECT * FROM users WHERE id = 5;
操作前备份重要数据 在测试环境先验证语句 使用事务控制,便于回滚:
START TRANSACTION;
DELETE FROM users WHERE id = 5;
-- 确认无误再提交
COMMIT;

基本上就这些。只要写清楚条件,DELETE 是个简单直接的操作,但千万记得加上 WHERE,避免误删全表。

相关推荐