Table of Contents
在 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;
执行前建议先做几项检查:
- 确认新表名不存在,避免命名冲突。
- 确认应用代码、视图、存储过程、定时任务等是否引用了旧表名。
- 在生产环境操作前先备份数据库,或者至少备份相关表。
- 如果表很大或业务正在访问该表,尽量安排在低峰期执行。
可以先用下面的语句确认表是否存在:
SHOW TABLES LIKE 'admin_user';
SHOW TABLES LIKE 'a_user';
重命名后再验证:
SHOW TABLES LIKE 'a_user';
SELECT COUNT(*) FROM a_user;
这样就可以在保留原有数据的同时,只修改表名。
