在mysql中修改表名的SQL语句

在 MySQL 中修改表名的 SQL 语句

在使用 MySQL 时,经常会遇到表名不符合规范或标准的情况。如果表里已经有大量数据,最直接的做法不是重新建表再导入数据,而是直接重命名原表。

在 MySQL 5.0 及之后的版本中,可以使用 ALTER TABLE ... RENAME TO ... 修改表名:

ALTER TABLE table_name RENAME TO new_table_name;

例如,把 admin_user 表改名为 a_user

ALTER TABLE admin_user RENAME TO a_user;

也可以使用 RENAME TABLE 语句完成同样的操作:

RENAME TABLE admin_user TO a_user;

执行前建议先做几项检查:

  1. 确认新表名不存在,避免命名冲突。
  2. 确认应用代码、视图、存储过程、定时任务等是否引用了旧表名。
  3. 在生产环境操作前先备份数据库,或者至少备份相关表。
  4. 如果表很大或业务正在访问该表,尽量安排在低峰期执行。

可以先用下面的语句确认表是否存在:

SHOW TABLES LIKE 'admin_user';
SHOW TABLES LIKE 'a_user';

重命名后再验证:

SHOW TABLES LIKE 'a_user';
SELECT COUNT(*) FROM a_user;

这样就可以在保留原有数据的同时,只修改表名。

Leave a Reply