如何在Mysql工作台中复制两个模型之间的表?

Dra*_*laW 22 mysql mysqldump mysql-workbench workbench eer-model

我正在做一些数据库的事情,我需要将一个表从一个模型复制到另一个模型,但我尝试了很多方法没有效果.这样做有什么办法吗?

小智 21

如果你只想通过MySQL Workbench做一个表.

在MySQL Workbench中:

  1. 连接到MySQL服务器
  2. 展开数据库
  3. 右键单击表格
  4. 选择"复制到剪贴板"
  5. 选择Create Statement

该表的create语句将被复制到您的剪贴板,类似于以下内容:

   CREATE TABLE `cache` (
  `cid` varchar(255) NOT NULL DEFAULT '',
  `data` longblob,
  `expire` int(11) NOT NULL DEFAULT '0',
  `created` int(11) NOT NULL DEFAULT '0',
  `headers` text,
  `serialized` smallint(6) NOT NULL DEFAULT '0',
  PRIMARY KEY (`cid`),
  KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

在新数据库中创建表

  1. 打开一个新的SQL选项卡以执行查询(文件 - >新查询选项卡)
  2. 更改create table代码以包含数据库以创建表.

     CREATE TABLE `databaseName`.`cache` (
      `cid` varchar(255) NOT NULL DEFAULT '',
      `data` longblob,
      `expire` int(11) NOT NULL DEFAULT '0',
      `created` int(11) NOT NULL DEFAULT '0',
      `headers` text,
      `serialized` smallint(6) NOT NULL DEFAULT '0',
      PRIMARY KEY (`cid`),
      KEY `expire` (`expire`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Run Code Online (Sandbox Code Playgroud)

  3. 然后单击执行按钮(看起来像闪电箭)

这将使用MySQL工作台将表模式从一个db复制到另一个db.只需刷新数据库中的表,您就会看到新添加的表

  • 这将一个表复制到另一个模式,但它不会将一个表复制到另一个模型,这是原始发布者所问的。 (4认同)

Mik*_*hke 19

您最好的选择可能是创建一个包含您想要携带的对象的模型的精简版本.然后打开目标模型并运行File -> Include Model....选择精简的源模型然后就可以了.


Mnl*_*Mnl 15

您可以只使用 select 语句。在这里,我正在创建从“original_schema”模式/数据库到“new_schema”模式的“original_table”表的副本:

CREATE TABLE new_schema.duplicate_table AS
Select * from original_schema.original_table;
Run Code Online (Sandbox Code Playgroud)

您可以放置​​您需要的任何选择语句,添加条件并选择列:

CREATE TABLE new_schema.duplicate_table AS
SELECT column1, column2       
FROM original_schema.original_table
WHERE column2 < 11000000;
Run Code Online (Sandbox Code Playgroud)

  • 正是我想要的。所有的民众投票并没有完成任务。谢谢! (2认同)

小智 9

  1. 选择包含源数据库的选项卡
  2. 在菜单中:服务器 - >数据导出
  3. 选择Schema,将Table选为Schema Object
  4. 选择"导出到自包含文件"选项并选中"在单个事务中创建转储"(仅限自包含)
  5. 将完整文件路径复制到剪贴板
  6. 开始导出
  7. 选择目标数据库的选项卡
  8. 在菜单中:服务器 - >数据导入.确保目标数据库名称位于"数据导入"视图的左上角
  9. 选择从自包含文件导入并从剪贴板粘贴完整文件路径
  10. 选择默认目标架构
  11. 选择转储内容(转储结构和数据等...)
  12. 开始导入

  • 这是这里最好的解决方案,干得好:) (2认同)