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 的危险性,避免误操作导致数据丢失。

相关推荐
SPC的存折2 分钟前
MySQL 8组复制完全指南
linux·运维·服务器·数据库·mysql
运维行者_3 分钟前
OpManager MSP NetFlow Analyzer集成解决方案,应对多客户端网络流量监控挑战
大数据·运维·服务器·网络·数据库·自动化·运维开发
sszdzq20 分钟前
docker 安装 doris
运维·docker·容器
dashizhi20151 小时前
共享文件禁止拖动本地磁盘、共享文件禁止另存为、禁止打印共享文件、禁止复制共享文件的方法
运维·服务器·网络·安全·电脑
炸炸鱼.1 小时前
Python 操作 MySQL 数据库
android·数据库·python·adb
Linux技术芯2 小时前
Refault Distance算法详解
linux
0vvv02 小时前
linux-软件安装
linux
IMPYLH2 小时前
Linux 的 nproc 命令
linux·运维·服务器·bash
Ronaldinho Gaúch2 小时前
MySQL基础
数据库·mysql
不剪发的Tony老师2 小时前
Noir:一款键盘驱动的现代化数据库管理工具
数据库·sql