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

相关推荐
wanhengidc4 分钟前
巨椰 云手机 云游戏稳定运行
运维·服务器·arm开发·游戏·云计算
林义满8 分钟前
大促零宕机背后的运维升级:长三角中小跨境电商的架构优化实践
大数据·运维·架构
一 乐12 分钟前
校务管理|基于springboot + vueOA校务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring
linweidong44 分钟前
顺丰运维面试题及参考答案
运维·nginx·容器·ansible·运维开发·防火墙·python面试
qq_4557608544 分钟前
docker run
运维·docker·容器
叽里咕噜怪44 分钟前
Docker-基础
运维·docker·容器
田里的水稻1 小时前
运维_SOC芯片的架构综述
运维·架构
太行山有西瓜汁1 小时前
达梦DTS工具:批量导出与导入DDL脚本完整指南
运维·服务器·数据库
无盐海1 小时前
Redis 哨兵模式
数据库·redis·缓存
APItesterCris1 小时前
高并发场景下的挑战:1688 商品 API 的流量控制、缓存策略与异步处理方案
大数据·开发语言·数据库·缓存