9

如何将表结构从一个数据库复制到另一个

4

7 回答 7

9

转到要在其中创建新表的数据库,并使用CREATE TABLE... LIKE...完全限定源表名称。

于 2012-04-24T10:59:30.723 回答
7

根据评论,您想要实现的目标并不完全清楚。正在尝试创建数据库的副本(从头开始)或只是将单个表结构复制到另一个数据库?

无论如何,我都会推荐mysqldump

如果要复制所有表,请使用:

> mysqldump -d $databaseName > $newFile

或者,如果您只想复制一个表,您可以使用:

> mysqldump -d $databaseName.$tableName > $newFile

然后您可以将此文件导入其他数据库...

于 2012-04-24T11:06:06.617 回答
7

以下代码行应该可以完成这项工作:

create table new_table_name like existing_table_name;
于 2017-04-15T07:19:42.487 回答
6

有多种工具可让您查看现有数据库的架构并将其导出为文件,然后您可以针对新数据库运行该文件。想到几个锥体:

还有很多其他的。

于 2012-04-24T10:57:21.643 回答
3

我正在寻找相同的解决方案。我尝试了下面的示例,它有效,转到您要创建表的数据库并尝试如下示例。

CREATE TABLE new_table_name LIKE database.table_name

这个例子将创建一个带有 AI、Index、Key 的表。它类似于重复的表结构。

于 2019-01-30T05:13:46.610 回答
2

您可以为此使用 SQLyog。SQLyog 是一个全方位的 MySQL 管理工具(/'GUI'/'Frontend')。

于 2012-12-26T20:14:31.477 回答
0

这是一个简单的操作,我认为没有必要转储数据库。

我解决这个问题的方法:

USE TARGET_DB;
CREATE NEW_TABLE LIKE SOURCE_DB.SOURCE_TABLE;
于 2017-04-03T14:45:38.253 回答