首页/数据/SQL 速查/RENAME TABLE 改名与影响面
变更与事务52 条

RENAME TABLE 改名与影响面

表改名很快,但依赖它的对象与代码要同步:MySQL 用 RENAME TABLE(可一条语句多表原子换名),PostgreSQL 用 ALTER TABLE ... RENAME TO。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
RENAME TABLE orders TO orders_bak, orders_new TO orders;   -- 原子换名

PostgreSQL

PostgreSQL
ALTER TABLE orders RENAME TO orders_bak;
ALTER TABLE orders_new RENAME TO orders;
MySQLRENAME TABLE 支持一次改多张(可作为换表的轻量手段)
PostgreSQLRENAME 在事务内可回滚;外键依赖按对象标识跟随
影响面视图/存储过程/ORM 映射/grant 授权/复制过滤都可能引用旧名

易错点

  • 改名后忘了刷新视图/物化视图:查询引用仍指向旧名时报错或查到旧结构
  • 线上换表前后要处理增量写入(双写或短暂停写),只做 RENAME 会丢中间数据

数据来源与参考

  • MySQL 8.0 Reference Manual · RENAME TABLE
  • PostgreSQL Documentation · ALTER TABLE
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌