怎样把mysql中一个数据库的表复制到另一个数据库中的表

本文介绍了一种使用MySQL命令快速复制现有表结构及数据的方法。首先通过`CREATETABLE...LIKE`语句复制表结构,然后用`INSERT...SELECT`语句将数据从原表迁移至新表。
CREATE TABLE mytbl_new LIKE production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;

第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。
第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。
注:production.mytbl是指定要复制表的数据库名称为 production 。它是可选的。
假如没有production. ,MySQL数据库将会假设mytbl在当前操作的数据库。

转载于:https://www.cnblogs.com/phtjzzj/p/7595533.html

MySQL 一个数据库里的结构复制到一个数据库,有以下几种方法: #### 使用 mysqldump 工具 使用 `mysqldump` 工具可以将源数据库结构导出到一个 SQL 文件,然后在目标数据库中执行该 SQL 文件来创建相同的结构。 将 `source_database` 数据库结构导出到 `structure.sql` 文件: ```bash mysqldump -u username -p --no-data source_database > structure.sql ``` 将导出的结构文件导入到 `target_database` 数据库: ```bash mysql -u username -p target_database < structure.sql ``` #### 使用 SQL 语句 可以通过查询 `information_schema.columns` 系统获取源数据库的结构信息,然后根据这些信息在目标数据库中创建相同的结构。 获取源数据库的创建语句: ```sql SELECT CONCAT('CREATE TABLE ', TABLE_NAME, ' (', GROUP_CONCAT(COLUMN_NAME, ' ', COLUMN_TYPE, IF(IS_NULLABLE = 'NO', ' NOT NULL', ''), IF(COLUMN_DEFAULT IS NOT NULL, CONCAT(' DEFAULT ', QUOTE(COLUMN_DEFAULT)), ''), IF(EXTRA != '', CONCAT(' ', EXTRA), '')), ') ENGINE=', ENGINE, ' DEFAULT CHARSET=', TABLE_COLLATION, ';') FROM information_schema.columns JOIN information_schema.tables ON information_schema.columns.TABLE_NAME = information_schema.tables.TABLE_NAME WHERE information_schema.tables.TABLE_SCHEMA = 'source_database' GROUP BY TABLE_NAME; ``` 将查询结果中的 SQL 语句复制到目标数据库中执行,即可创建相同的结构。 #### 使用 MySQL Workbench 打开 MySQL Workbench,连接到源数据库。在“Schema”面板中,右键单击要复制结构的数据库,选择“Table Data Export Wizard”。在向导中,选择只导出结构(不导出数据),并指定导出的文件路径。然后连接到目标数据库,在“Schema”面板中,右键单击目标数据库,选择“Table Data Import Wizard”,选择之前导出的文件,完成结构的导入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值