mysql navicat 复制数据库_【MySQL】Navicat修改数据库名称,复制数据库

本文介绍了在Navicat中如何复制和修改数据库名称的四种方法,包括直接复制表、转储SQL文件、使用数据传输工具以及通过执行SQL脚本。特别是第四种方法,涉及重命名数据库中的所有表,执行速度最快,适用于包含复杂结构的数据库。
摘要由CSDN通过智能技术生成

假设:有一个数据库,名称为A,需要修改为B。

在Navicat中不可以按F2修改数据库的名称,我们必须新建一个库,命名为B。

下面4种方式都可以实现目标。如果数据库中有远程表和权限设置,推荐使用第四种方式。

1、如果数据库A中的表和设置比较简单,直接复制数据库A中所有表,粘贴到数据库B即可。

2、在A数据库上右击 –> 转储SQL文件 –> 结构和数据 ; 在B数据库上右击 –> 运行SQL文件。

执行速度:最慢。

3、选择菜单栏:工具 –> 数据传输(源库为A,目标库为B) –> 开始,传输完成后,刷新数据库B。

如果数据库A中存在远程表的话,操作会报错,错误信息为:

[Err] [Dtf] 1432 - server name: '' doesn't exist!

因此,你需要先将数据库中所有远程表的DDL语句复制到一个txt文件中,再删除数据库中的所有远程表。再次执行本操作。最后,将保存在txt文件中的所有DDL语句在B库上执行一遍即可。实现原理:复制粘贴。执行速度:中等。

4、重命名数据库A中的所有表,两个库需在同一服务器。(推荐)

执行下面的SQL语句,查询结果为重命名表的sql脚本集合:

select CONCAT('RENAME TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' to ', 'B.',TABLE_NAME,';')

from information_schema.`TABLES` where TABLE_SCHEMA = 'A';

复制所有结果行,将其作为sql脚本执行。执行速度:最快。

第4种方法步骤如下图:

查询>新建查询>粘贴上述代码>点运行>得到结果1的sql语句集合

b94034d3743e6439b196ee61fa1dd1ea.png

选中sql语句集合(可以用shift+鼠标)>复制(ctrl+c)>粘贴到查询编辑器(ctrl+v)>运行

25053a63a097050f60ea6a985d803f25.png然后刷新一下数据库B,就可以看见数据表了。刷新一下数据库A,发现里面已经没有数据表了

如果数据库名中包含.的话,执行上述步骤会提示错误,可以把数据库名用反单引号括起来,如:

RENAME TABLE `tp5.1-20190213`.zht_article_cats to B.zht_article_cats;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值