🗑️ MySQL 删除数据
DELETE 语句概述
DELETE 语句用于从表中删除现有记录。MySQL 支持单表删除、多表删除、条件删除等操作,同时提供了安全机制防止误删除。
基本 DELETE 语法
-- 基本语法
DELETE FROM table_name WHERE condition;
-- 删除特定记录
DELETE FROM users WHERE id = 1;
-- 条件删除
DELETE FROM users WHERE status = 'inactive' AND last_login < '2023-01-01';
批量删除
-- 删除多条记录
DELETE FROM orders WHERE status = 'cancelled';
-- 使用子查询删除
DELETE FROM products
WHERE id NOT IN (
SELECT DISTINCT product_id
FROM order_items
WHERE product_id IS NOT NULL
);
安全删除
-- 使用 LIMIT 限制删除数量
DELETE FROM logs WHERE created_at < '2023-01-01' LIMIT 1000;
-- 删除前备份
CREATE TABLE users_backup AS SELECT * FROM users WHERE status = 'inactive';
DELETE FROM users WHERE status = 'inactive';
📋 最佳实践
- 安全性:确保操作的安全性和数据完整性
- 性能:考虑操作对数据库性能的影响
- 备份:重要操作前做好数据备份
- 测试:在生产环境前充分测试
- 监控:监控操作的执行情况