码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-01-10 23:48:09      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:new   nbsp   concat   ddl   rom   字典   简单的   table   creat   

   目前的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)

标签:new   nbsp   concat   ddl   rom   字典   简单的   table   creat   

原文地址:http://blog.51cto.com/jim123/2059628

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!