MySQL重命名表(RENAME TABLE语句)
封面图
•
2025-11-01
•
MySQL
302
1
1
0
在 MySQL 中,可以使用 `RENAME TABLE` 语句来重命名一个或多个表。这个操作非常高效,因为它只是修改了数据库的元数据(即系统表),而不会复制或移动实际的数据。 --- ### ✅ 基本语法: ```sql RENAME TABLE old_table_name TO new_table_name; ``` 或者使用 `AS` 关键字(等价): ```sql RENAME TABLE old_table_name AS new_table_name; ``` --- ### 🔁 示例 假设你有一个名为 `old_customers` 的表,你想把它重命名为 `customers`,可以这样写: ```sql RENAME TABLE old_customers TO customers; ``` --- ### 🔄 重命名多个表 你可以一次重命名多个表,例如: ```sql RENAME TABLE old_table1 TO new_table1, old_table2 TO new_table2; ``` --- ### ⚠️ 注意事项: 1. **权限要求**:需要有对原表和目标表的 `ALTER` 权限。 2. **不能重命名正在使用的表**:如果表正在被其他会话使用,可能会导致锁或错误。 3. **不能与现有表名冲突**:目标表名不能已经存在,否则会报错。 4. **事务支持**:`RENAME TABLE` 是一个原子操作,要么全部成功,要么全部失败。 5. **索引、约束等保持不变**:重命名不会影响表的结构、索引、约束等。 --- ### 🧪 示例:重命名两个表 ```sql RENAME TABLE employees_old TO employees, departments_old TO departments; ``` --- ### 📌 小提示: 如果你想要更安全地进行重命名(比如防止意外覆盖),可以先检查目标表是否存在: ```sql SHOW TABLES LIKE 'new_table_name'; ``` 如果存在,则先删除或改名。 --- 如有更多关于 MySQL 表操作的问题,欢迎继续提问!
上一篇:
CentOS 7 下使用yum安装MySQL5.7.20
下一篇:
MySQL MAX 函数
标题录入,一次不能超过6条
留言
评论