🗑️ 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';

📋 最佳实践

  1. 安全性:确保操作的安全性和数据完整性
  2. 性能:考虑操作对数据库性能的影响
  3. 备份:重要操作前做好数据备份
  4. 测试:在生产环境前充分测试
  5. 监控:监控操作的执行情况