在 MySQL 中使用 DELETE 语句可以删除表中的数据。操作时需要特别注意条件控制,避免误删重要数据。
基本语法
DELETE 语句的基本格式如下:
DELETE FROM 表名 WHERE 条件;其中:
表名:要删除数据的表 WHERE 条件:指定要删除哪些行(非常重要)如果不加 WHERE 条件,会删除表中所有数据。
删除指定条件的数据
例如,删除 users 表中 id 为 5 的记录:
DELETE FROM users WHERE id = 5;也可以使用更复杂的条件:
DELETE FROM users WHERE age > 30 AND status = 'inactive';清空整个表
如果想删除表中所有数据,可以直接省略 WHERE 条件:
DELETE FROM users;这会清空 users 表的所有行,但表结构仍然保留。注意这和 TRUNCATE 不同,DELETE 可以带条件,且支持回滚(在事务中)。
安全操作建议
执行 DELETE 操作前,推荐以下做法:
先用 SELECT 验证条件是否正确:SELECT * FROM 表名 WHERE 条件; 在执行前开启事务,便于出错回滚:
START TRANSACTION;
DELETE FROM users WHERE id = 10;
ROLLBACK; -- 如果有问题可以回滚 对重要数据,先备份再删除
基本上就这些。只要写清楚 WHERE 条件,DELETE 语句是安全可控的。
