ALTER 与 UPDATE、DROP 与 DELETE区别

在 MySQL 中,ALTERUPDATEDROPDELETE 是两组容易混淆的命令,它们的作用和使用场景有本质区别:

1. ALTERUPDATE 的区别

两者都用于"修改",但修改的对象完全不同:

命令 作用对象 功能描述 示例
ALTER 数据库对象结构(表、列等) 修改数据库或表的结构(如添加/删除列、修改字段类型、重命名表等) ALTER TABLE users ADD COLUMN age INT;(给 users 表添加 age 列)
UPDATE 表中的数据 修改表中已有记录的数据(不改变表结构) UPDATE users SET age = 20 WHERE id = 1;(更新 id=1 的用户年龄)

核心区别
ALTER 操作的是"表的结构"(元数据),而 UPDATE 操作的是"表中的数据"(内容)。

2. DROPDELETE 的区别

两者都用于"删除",但删除的对象和效果不同:

命令 作用对象 功能描述 示例
DROP 数据库对象(表、库、索引等) 彻底删除整个数据库对象(如删除表、库、索引),释放所有相关资源 DROP TABLE users;(删除整个 users 表,包括结构和数据)
DELETE 表中的数据 删除表中部分或全部记录 (保留表结构),可以配合 WHERE 条件 DELETE FROM users WHERE age < 18;(删除 age<18 的用户记录)

其他重要区别

  • 恢复性DELETE 删除的数据可以通过事务回滚(ROLLBACK)恢复;DROP 是立即释放资源,无法回滚。
  • 性能DROP TABLEDELETE FROM table(删除全表数据)速度快,因为 DROP 直接删除表结构,而 DELETE 需要逐行删除记录。
  • 自增列DELETE 全表数据后,自增列(AUTO_INCREMENT)的计数器不会重置;DROP 表后重建,计数器会重置。

总结

  • 改结构用 ALTER,改数据用 UPDATE
  • 删对象(表/库)用 DROP,删记录用 DELETE

使用时需特别注意 DROPDELETE 的危险性,避免误操作导致数据丢失。

相关推荐
IDC02_FEIYA6 分钟前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
犀思云7 分钟前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
霖霖总总10 分钟前
[小技巧56]深入理解 MySQL 聚簇索引与非聚簇索引:原理、差异与实践
数据库·mysql
江畔何人初10 分钟前
kubectl apply与kubectl create的区别
linux·运维·云原生
Dreamboat-L18 分钟前
Redis及其两种持久化技术详解
数据库·redis·缓存
伐尘20 分钟前
【MySQL】间隙锁 与 排他锁 的区别
数据库·mysql
浒畔居38 分钟前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
M158227690551 小时前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器
誰能久伴不乏1 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt
一个响当当的名号1 小时前
lectrue9 索引并发控制
java·开发语言·数据库