MySQL 数据删除三剑客:DELETE、TRUNCATE、DROP 秒懂!
创作时间:
作者:
@小白创作中心
MySQL 数据删除三剑客:DELETE、TRUNCATE、DROP 秒懂!
引用
CSDN
1.
https://m.blog.csdn.net/qq_56158663/article/details/146215235
一、DELETE 命令(精准删除,像个外科医生 👨 ⚕️)
DELETE命令就像一个外科医生,可以精准地切除你不需要的部分,保留你需要的部分。
假设你有一个users表,记录了网站用户的个人信息。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
age INT
);
INSERT INTO users (username, email, age) VALUES
('Alice', 'alice@example.com', 25),
('Bob', 'bob@example.com', 30),
('Charlie', 'charlie@example.com', 17),
('David', 'david@example.com', 40);
场景 1:
你想删除id为 3 的用户(Charlie,未成年,不符合网站规定)。
DELETE FROM users WHERE id = 3;
执行后,users表中id为 3 的用户就被删除了。
场景 2:
你想删除所有年龄小于 18 岁的用户。
DELETE FROM users WHERE age < 18;
执行后,users表中所有年龄小于 18 岁的用户就被删除了。
场景 3:
你想删除所有用户(慎用!)。
DELETE FROM users;
执行后,users表中的所有数据都被删除了,但表结构还在。
特点回顾:
- 精准打击:可以根据条件删除指定的行。🎯
- 后悔药:可以回滚(
ROLLBACK),万一删错了,还能恢复。 💊 - 记录在案:会记录到事务日志中,方便审计。 📝
- 触发连锁反应:会触发
DELETE触发器(如果定义了)。 💥 - 自增 ID 不变:删除后,自增 ID 不会重置。 🔢
二、TRUNCATE 命令(一键清空,像个清洁工 🧹)
TRUNCATE命令就像一个清洁工,一键清空房间里的所有垃圾,速度快,效率高。
还是上面的users表。
-- 清空 users 表中的所有数据
TRUNCATE TABLE users;
执行后,users表中的所有数据都被清空了,就像新的一样! ✨
特点回顾:
- 速度飞快:清空速度比
DELETE快得多。 🚀 - 没有后悔药:无法回滚,删了就没了! 😱
- 悄无声息:不会记录到事务日志中。 🤫
- 不触发连锁反应:不会触发
DELETE触发器。 🙅♀️ - 重置自增 ID:自增 ID 会重置为初始值(通常是 1)。 1️⃣
三、DROP 命令(拆迁队,连房子都拆了 🏗️)
DROP命令就像一个拆迁队,直接把房子(表)拆了,连地基(表结构)都不留。
还是上面的users表。
-- 删除 users 表
DROP TABLE users;
执行后,users表就彻底消失了,连表结构都没了! 💨
特点回顾:
- 彻底消失:删除整个表,包括表结构和数据。 💀
- 无法挽回:无法回滚,删了就彻底没了! 😭
- 不留痕迹:不会记录到事务日志中。 👻
- 一并清除:会删除表上的所有索引、触发器和约束。 🗑️
- 自增 ID 也没了:表都没了,自增 ID 自然也消失了。 ❌
四、更形象的比喻
- DELETE:像用修正带涂掉水性笔的写的字,可以擦一部分,也可以擦全部,擦错了还能扣掉修正带补救(回滚)。 ✏️
- TRUNCATE:像把白板上的字直接用板擦擦掉,一下子就干净了,但擦掉就没了,没法恢复。 whiteboard
- DROP:像把白板直接扔掉,连白板都没了,更别说上面的字了。 🗑️
五、总结
特性 | DELETE | TRUNCATE | DROP |
|---|---|---|---|
功能 | 删除表中的数据行 | 清空表中的所有数据 | 删除整个表(包括表结构和数据) |
速度 | 慢(逐行删除) | 快(直接释放空间) | 非常快 |
回滚 | 可以回滚 | 无法回滚 | 无法回滚 |
日志 | 会记录到事务日志中 | 不会记录到事务日志中 | 不会记录到事务日志中 |
触发器 | 会触发DELETE触发器 | 不会触发DELETE触发器 | 不会触发任何触发器 |
自增 ID | 不会重置自增 ID | 会重置自增 ID | 删除表后,自增 ID 也随之消失 |
空间释放 | 释放删除行占用的空间 | 释放整个表占用的空间 | 释放整个表占用的空间 |
安全性 | 相对安全,可以根据条件删除 | 危险,会清空所有数据 | 非常危险,会删除整个表 |
DML/DDL | DML (Data Manipulation Language) 数据操作语言 | DDL (Data Definition Language) 数据定义语言 | DDL (Data Definition Language) 数据定义语言 |
热门推荐
营养价值堪比人参,山东鲜萝卜成健康食品新宠
医美专家解读:微笑如何让你更美、更健康、人缘更好
白萝卜、红萝卜、青萝卜:秋冬养生这样吃最好
冬日萝卜这样吃才安全:储存方法和食用禁忌全解析
未签劳动合同离职指南:从通知到维权全攻略
压岁钱这样花:培养孩子财商的三个实用方案
从压胜钱到红包:压岁钱习俗的千年变迁
压岁钱变“压岁债”:经济负担下的亲情扭曲
儿童财商教育正当时:专家建议小学阶段起步,6大方法助力培养
戈登·拉姆齐教你快速做出家常菜
美第奇家族:文艺复兴背后的赞助者
《魔兽争霸3:冰封王座》作弊码大揭秘:让你在游戏中所向披靡
《魔兽争霸3》秘籍大揭秘:无敌秘籍让你秒变高手!
夏日清凉必备:自制甘蔗汁DIY全攻略
冬季甘蔗种植技巧全攻略:从整地到管理
冬季养生必备:自制甘蔗饮品
甘蔗饮品,不止止咳这么简单!
电池没电了?教你快速解决手机黑屏问题
手机黑屏?电池问题最常见!
云缨出装铭文优化,让你秒变王者!
国服云缨教你如何玩转云缨:新手必备出装与铭文攻略
冬季养生必备:大白菜、白萝卜和山药
广东清远太和古洞:6天深度游览自然人文双绝胜地
新疆林果产量增25万吨、出口增36%,科技创新和市场开拓双轮驱动
直播带货闯出致富路,新疆兵团“新农人”带动农户增收
古埃及土坯砖配合天然沥青,防水效果优于古希腊大理石
四月打卡林芝桃花、喀纳斯湖和夫子庙
四月东欧小镇游:布拉格、克鲁姆洛夫、萨尔茨堡
火葬场一副对联引发争议:传统文化遭遇现代观念挑战
丧葬花圈挽联撰写规范与范例