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

相关推荐
David猪大卫6 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
飞飞传输7 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
叼烟扛炮8 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery8 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
测试界的小码农9 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
布裘9 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
.痞老板.10 小时前
mysql初阶--数据库基础
数据库·mysql
huainingning10 小时前
锐捷10.X路由器版本升级不生效问题排查
运维·网络·智能路由器
荣合技术服务10 小时前
HPC 超算集群故障维修实录:找荣合科算维护后,模拟仿真计算又能跑了
运维·服务器·超算服务器·荣合科算
城北徐宫11 小时前
MySQL约束条件一览
数据库·mysql