ALTER 与 UPDATE、DROP 与 DELETE区别

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

1. ALTER 与 UPDATE 的区别

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

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

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

2. DROP 与 DELETE 的区别

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

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

其他重要区别:

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

总结

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

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

相关推荐
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
小白男神4 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
_艾伦 耶格尔.4 天前
进程间通信
linux
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展