MySQL中利用RENAME TABLE快速高效重命名库(schema)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL中利用RENAME TABLE快速高效重命名库(schema)相关的知识,希望对你有一定的参考价值。

   目前的mysql中一旦创建的了新的库(schema)就无法对它进行重命名,所以如果需要对一个库重命名一般的做法是把目标库中的数据dump出来后导入想重命名的新库中,在MySQL的导入中是使用大量的insert,大量使用了DML,如果是大数据量的库那就很低效,其实在MySQL中可以利用RENAME TABLE这种DDL的方式来移动表数据后来重命名库,下面就简单的介绍一下。首先,RENAME TABLE使用方法很简单:

RENAME TABLE old_table TO new_table;

由此在平时就可以通过查询MySQL的information_schema.TABLES这张字典表获得相应目标库的数据,如在MySQL中有一个test的库需要重命名为test2:

CREATE DATABASE test2;#先建好test2

SELECT
    CONCAT('RENAME TABLE test.',TABLE_NAME,' TO test2.',TABLE_NAME,';') DDL
FROM
    information_schema.`TABLES`
WHERE
    TABLE_SCHEMA = 'test';
#生成test转移至test2的DDL后复制执行
DROP DATABASE test;#最后再删除旧库

不过需要注意的是该方式需要有一定的权限

以上是关于MySQL中利用RENAME TABLE快速高效重命名库(schema)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL RENAME TABLE 语句如何工作/执行?

R语言data.table导入数据实战:data.table数据列名称的重命名(rename)

苹果Mac强大的批量重命名工具:A Better Finder Rename

Mysql---4 修改表字段操作(增,删,改,重命名)

MongoDB update集合字段名修改 $rename

利用perl批量重命名文件