mysql 命令重命名表RENAME TABLE 句法

mysql 命令重命名表RENAME TABLE 句法

RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO
new_tbl_name2,...]
更名是以原子方式(atomically)执行,这就意味着,当更名正在运行时,其它的任何线程均不能该表。这使得以一个空表替换一个表成为可能。

CREATE TABLE new_table (...);
RENAME TABLE old_table TO backup_table, new_table TO old_table;
改名是从左到右执行的,这就意味着,如果你希望交换两个表名,你不得不这样做:

RENAME TABLE old_table    TO backup_table,
             new_table    TO old_table,
             backup_table TO new_table;
只要两个数据库在同一个磁盘上,你也可以从一个数据库更名到另一个数据库:

RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

RENAME TABLE 在 MySQL 3.23.23 中被加入。

时间: 2024-12-04 01:47:38

mysql 命令重命名表RENAME TABLE 句法的相关文章

截断分区(truncate)/重命名分区(rename)/移动分区(move)

截断分区(truncate):截断分区和drop分区类似,但是区别在于他只是截断数据,并且降低HWM,同时不同还包括其可以对HASH分区使用限制:1.如果此分区中包含了数据,截断后全局索引和普通索引均失效,除非带上update indexes      2.本地分区索引不受影响语法alter table t_pe_h   truncate partition p2 update indexes;alter table t_pe_r  truncate partition P1 update in

c语言编程-调用文件重命名函数rename失败,errno的值为17,如何解决?

问题描述 调用文件重命名函数rename失败,errno的值为17,如何解决? void onMenuDele(char *id) { FILE *p=fopen("f:employee.txt","r"); //打开文件 if(p==NULL) { printf("Sorry!employee.txt cannot open!n"); return ; } FILE *fp2=fopen("f:\employ.txt",&q

ASP技巧:在Access数据库中重命名表

access|技巧|数据|数据库 下面代码是用Adox重命名Access表名的示例代码:Dim Conn,ConnStr,oCat,oTblConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")Set oCat=Server.CreateObject("ADOX.Catalog") oCat.ActiveConnectio

cmd ren命令 重命名文件(夹)_DOS/BAT

ren 的用法很简单,其使用格式为:ren 旧文件 新文件名.例如,把test.txt改写为abc.txt,使用 ren test.txt abc.txt即可. 需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路径就是当前目录.例如:需要修改d:\test\abc.txt这个文件的名字为xyz.txt的话,如果当前路径位于d:\test,那么,命令可以写成:ren abc.txt xyz.txt.ren d:\test\abc.

mysql数据库重命名语句分享_Mysql

复制代码 代码如下: CREATE DATABASE `ct` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;            RENAME TABLE `51cola`.`commentmeta`                  TO `ct`.`commentmeta`;            RENAME TABLE `51cola`.`comments`                  TO `ct`.`comments`

存储过程 清理数据/删除表/重命名表

在做开发的过程中,会往数据库里写入很多测试的垃圾数据,到数据库需要正式发布的时候,这些测试数据必须清理掉.前面有同事用一条条delete 命令,组合成一个SQL文件去执行,很冗长,也很繁琐.于是思考能否做成一个通用的存储过程,只需要传入需要清理的数据库名称,然后自动清除所有的测试数 据呢?晚上找时间写了如下的存储过程,在MYSQL5.1.42版本测试通过. Sql代码   CREATE PROCEDURE Clear_Table_Data(       DB_NAME varchar(50) #

MySQL命令行删除表中的一个字段_Mysql

先看看删除之前的表结构: mysql> select * from test; +------+--------+----------------------------------+------------+------------+------------+------------+ | t_id | t_name | t_password                       | t_birth    | birth      | birth1     | birth2     |

sql rename table表重命名分析实例

rename table语法 rename table tbl_name to new_tbl_name    [, tbl_name2 to new_tbl_name2] ...本语句用于对一个或多个表进行重命名. 重命名操作自动进行,这意味着当重命名正在运行时,其它线程不能读取任何表.例如,如果您有一个原有的表old_table,您可以创建另一个具有相同结构的空表new_table,然后用此空表替换原有的表: create table new_table (...);rename table

mysql 命令修改表结构ALTER TABLE 句法

ALTER TABLE 句法 ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification:         ADD [COLUMN] create_definition [FIRST | AFTER column_name ]   or    ADD [COLUMN] (create_definition, create_definition,...)   or    ADD INDEX [ind