Mysql怎么同时交换两个表的表名,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
表重命名有两种方式,所以交换两表名也有两种方式:
1 .
lock tables t1 write ,t2 write;
alter table t1 rename to t3;
alter table t2 rename to t1;
alter table t3 rename to t2;
unlock tables;
2 .
rename table t1 to t3,t2 to t1,t2 to t3;
rename命令用于修改表名。
rename命令格式:rename table 原表名 to 新表名;
例如,在表MyClass名字更改为YouClass:
mysql> rename table MyClass to YouClass;
当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。
如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。
RENAME TABLE 在 MySQL 3.23.23 中被加入。
重命名表方法
使用 RENAME TABLE 语句或 ALTER TABLE 语句都可以对表进行重命名,基本语法如下:
# RENAME TABLE 语法:
RENAME TABLE
tbl_name TO new_tbl_name
[, tbl_name2 TO new_tbl_name2] ...
# ALTER TABLE 语法:
ALTER TABLE old_table RENAME new_table;
# 具体示例:
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| tb1 |
| tb2 |
+------------------+
2 rows in set (0.00 sec)
mysql> rename table tb1 to new_tb1;
Query OK, 0 rows affected (0.03 sec)
mysql> alter table tb2 rename new_tb2;
Query OK, 0 rows affected (0.04 sec)
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| new_tb1 |
| new_tb2 |
+------------------+
2 rows in set (0.00 sec)
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。