【问题标题】:importing all table data to from one schema to another schema将所有表数据从一个模式导入到另一个模式
【发布时间】:2016-10-01 05:47:11
【问题描述】:

我有一个架构 SCHEMA1,它有 10 个包含数据的表。 如何将 所有表及其数据SCHEMA1 架构复制到 SCHEMA2 架构,它应该包含所有 .sql要插入的脚本和数据

我正在使用 DBeaver 工作台。

【问题讨论】:

  • 备份,然后恢复?
  • 是的,我有 200 多个表,而且还在增长,所以我可以明确指定表,我可以通过任何方式复制到另一个架构 @tadman
  • 如果您在 schema2 中没有表,那么您可以使用 create table schema2.tablename select * from schema1.tablename; 如果您已经有类似的表并且有一些数据,则使用 insert into schema2.tablename select column_name1,column_name2,.. from schema1.tablename;

标签: mysql sql mysql-workbench


【解决方案1】:

您可以使用动态 sql 查询来实现此目的。

查询

set @query = '';
select
  group_concat(distinct
    concat(
      'alter table schema1.', table_name,' rename schema2.', table_name,';'
    ) separator ''
  ) into @query
from information_schema.tables
where table_schema = 'schema1';

prepare stmt from @query;
execute stmt;
deallocate prepare stmt;

【讨论】:

    【解决方案2】:

    在 SCHEMA2 中,您可以首先创建 10 个表,然后您可以使用

    INSERT INTO SCHEMA2.table1 SELECT * from SCHEMA1.table1
    .........
    in this way you can import others table data
    

    或者你可以使用mysql工作台转储导出、导入功能 1.然后导出SCHEMA1 2.在SCHEMA2中导入转储 下面的链接显示了如何在 mysql 工作台中导出和导入 mysql 转储

    https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html

    【讨论】:

    • 我有 200 多个表,而且还在增长,所以我可以明确指定表,我可以通过任何方式复制到另一个架构 @Zaynul
    • @ganesh 200 表对于使用 mysql 工作台创建转储无关紧要
    • @Ganesh : Check my answer
    • @Ullas 在此表中提到了名称。我有可增长的表格,我无法明确提及表格。
    • @Ganesh:这就是我告诉你的check my answer。我使用了动态 sql 查询。
    猜你喜欢
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2013-11-25
    • 2011-08-20
    • 1970-01-01
    • 2015-06-24
    • 2018-08-08
    • 1970-01-01
    相关资源
    最近更新 更多