Mysql用脚本另个库之间同步数据

本文详细介绍了在MySQL中复制表和数据库的方法,包括使用SQL语句复制表结构和数据,以及利用mysqldump工具进行数据库的导入导出操作。涵盖了从单一表的复制到整个数据库的迁移过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关闭页面特效
(一)将旧表复制到新表

1、CREATE TABLE新表 SELECT* FROM旧表;

该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等。

 

CREATE TABLE if not exists new_table
SELECT col1, col2, col3
FROM
existing_table
WHERE
conditions;

2、MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 

其中在使用select  into 语句与insert into select 语句时,新表要提前建立,并且新表与旧表的字段属性要一样才可以。

create table 新表 like 旧表;

新表建立之后才可以使用下面的两个语句:

SELECT * INTO 新表   FROM  旧表;

INSERT INTO  新表  SELECT * FROM  旧表;

只复制希望的列插入到另一个已存在的表中:

INSERT INTO  新表  (column_name(s))  SELECT   column_name(s)  FROM  旧表;

实例:INSERT INTO Websites (name, country) SELECT app_name, country FROM apps;

 

(二)复制相同表结构

 

对于mysql的复制相同表结构方法,有create table as 和create table like 两种

create table 新表 like 旧表;

create table 新表 as select * from 旧表 limit 0;

二者的区别:

 

as用来创建相同表结构并复制源表数据

like用来创建完整表结构和全部索引

oracle支持as,也是只有表结构没有索引
oracle不支持like。

(三)MySQL复制表到另一个数据库

访问不同数据库中的表:数据库名.表名 ,采用点 的形式。

有时,您要将表复制到其他数据库。 在这种情况下,可使用以下语句:

CREATE TABLE destination_db.new_table
LIKE source_db.existing_table;
 
INSERT destination_db.new_table
SELECT *
FROM source_db.existing_table;
SQL
具体流程:

CREATE DATABASE IF NOT EXISTS testdb;
SQL
其次,通过将其结构从示例数据库(yiibaidb)中的offices表复制出来,在testdb中创建了offices表。

CREATE TABLE testdb.offices LIKE yiibaidb.offices;
SQL
第三,我们将数据从yiibaidb.offices表复制到testdb.offices表中。

INSERT testdb.offices
SELECT *
FROM yiibaidb.offices;
 

(四)MySQL数据库导入导出

1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名
2 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution > G:\arcgisworkspace\zypdoc\test.sql
3:(导出某张表的表结构和数据,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution > G:\arcgisworkspace\zypdoc\test.sql
mysqldump-u root -p yiibaidb >d:\database_bak\yiibaidb.sql
其中>表示导出。
2、导入sql文件
在MySQL中新建数据库,这时是空数据库,如新建一个名为news的目标数据库
create database if not exists news;
use news;
导入文件:
source 路径+导入的文件名; 
source d:\mysql.sql;
 

要复制一个MySQL数据库,您需要执行以下步骤:

首先,使用CREATE DATABASE语句创建一个新的数据库。
其次,使用mysqldump工具导出要复制的数据库的所有数据库对象和数据。
第三,将SQL转储文件导入新的数据库。
作为一个演示,假设要把yiibaidb数据库复制到yiibaidb_backup数据库:

步骤1, 创建yiibaidb_backup数据库:

首先,登录到MySQL数据库服务器:

C:\Users\Administrator> mysql -u root -p
Enter password: **********
Shell
然后,使用CREATE DATABASE语句如下:

CREATE DATABASE yiibaidb_backup;
SQL
第三,使用SHOW DATABASES命令验证:

SHOW DATABASES
SQL
 

步骤2

 

使用mysqldump工具将数据库对象和数据转储到SQL文件中。

假设要将数据库对象和数据库转储到位于D:\database_bak文件夹的SQL文件中,这里是以下命令:

C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
Enter password: **********
SQL
基本上,此命令指示mysqldump使用具有密码的root用户帐户登录到MySQL服务器,并将数据库对象和yiibaidb数据库的数据导出到d:\database_bak\yiibaidb.sql。 请注意,运算符(>)表示导出。

步骤2

将d:\database_bak\yiibaidb.sql文件导入到yiibaidb_backup数据库。

C:\Users\Administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql
Enter password: **********
Shell
请注意,运算符(<)表示导入。

要验证导入,可以使用SHOW TABLES命令快速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

 


__EOF__

作  者:华丽D转身
出  处:https://www.cnblogs.com/snake23/archive/2018/09/05/9593887.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!

标签: mysql
好文要顶 关注我 收藏该文     华丽D转身
关注 - 6
粉丝 - 41
+加关注
1 0
posted @ 2018-09-05 19:01 华丽D转身 阅读(6815) 评论(0) 编辑 收藏
刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册, 访问 网站首页。
MENU
mysql复制表以及复制数据库
Copyright © 2019 华丽D转身 
Powered by .NET Core 3.0.0 on Linux
【事实并非理所当然❤️世界总是欲盖弥彰】
This blog has running : 1069 d 6 h 5 m 13 sღゝ◡╹)ノ♡
友情链接:华/丽/D/转/身
00:00 / 03:50    

关闭页面特效
(一)将旧表复制到新表

1、CREATE TABLE新表 SELECT* FROM旧表;

该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等。

 

CREATE TABLE if not exists new_table
SELECT col1, col2, col3
FROM
existing_table
WHERE
conditions;

2、MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 

其中在使用select  into 语句与insert into select 语句时,新表要提前建立,并且新表与旧表的字段属性要一样才可以。

create table 新表 like 旧表;

新表建立之后才可以使用下面的两个语句:

SELECT * INTO 新表   FROM  旧表;

INSERT INTO  新表  SELECT * FROM  旧表;

只复制希望的列插入到另一个已存在的表中:

INSERT INTO  新表  (column_name(s))  SELECT   column_name(s)  FROM  旧表;

实例:INSERT INTO Websites (name, country) SELECT app_name, country FROM apps;

 

(二)复制相同表结构

 

对于mysql的复制相同表结构方法,有create table as 和create table like 两种

create table 新表 like 旧表;

create table 新表 as select * from 旧表 limit 0;

二者的区别:

 

as用来创建相同表结构并复制源表数据

like用来创建完整表结构和全部索引

oracle支持as,也是只有表结构没有索引
oracle不支持like。

(三)MySQL复制表到另一个数据库

访问不同数据库中的表:数据库名.表名 ,采用点 的形式。

有时,您要将表复制到其他数据库。 在这种情况下,可使用以下语句:

CREATE TABLE destination_db.new_table
LIKE source_db.existing_table;
 
INSERT destination_db.new_table
SELECT *
FROM source_db.existing_table;
SQL
具体流程:

CREATE DATABASE IF NOT EXISTS testdb;
SQL
其次,通过将其结构从示例数据库(yiibaidb)中的offices表复制出来,在testdb中创建了offices表。

CREATE TABLE testdb.offices LIKE yiibaidb.offices;
SQL
第三,我们将数据从yiibaidb.offices表复制到testdb.offices表中。

INSERT testdb.offices
SELECT *
FROM yiibaidb.offices;
 

(四)MySQL数据库导入导出

1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名
2 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution > G:\arcgisworkspace\zypdoc\test.sql
3:(导出某张表的表结构和数据,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution > G:\arcgisworkspace\zypdoc\test.sql
mysqldump-u root -p yiibaidb >d:\database_bak\yiibaidb.sql
其中>表示导出。
2、导入sql文件
在MySQL中新建数据库,这时是空数据库,如新建一个名为news的目标数据库
create database if not exists news;
use news;
导入文件:
source 路径+导入的文件名; 
source d:\mysql.sql;
 

要复制一个MySQL数据库,您需要执行以下步骤:

首先,使用CREATE DATABASE语句创建一个新的数据库。
其次,使用mysqldump工具导出要复制的数据库的所有数据库对象和数据。
第三,将SQL转储文件导入新的数据库。
作为一个演示,假设要把yiibaidb数据库复制到yiibaidb_backup数据库:

步骤1, 创建yiibaidb_backup数据库:

首先,登录到MySQL数据库服务器:

C:\Users\Administrator> mysql -u root -p
Enter password: **********
Shell
然后,使用CREATE DATABASE语句如下:

CREATE DATABASE yiibaidb_backup;
SQL
第三,使用SHOW DATABASES命令验证:

SHOW DATABASES
SQL
 

步骤2

 

使用mysqldump工具将数据库对象和数据转储到SQL文件中。

假设要将数据库对象和数据库转储到位于D:\database_bak文件夹的SQL文件中,这里是以下命令:

C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
Enter password: **********
SQL
基本上,此命令指示mysqldump使用具有密码的root用户帐户登录到MySQL服务器,并将数据库对象和yiibaidb数据库的数据导出到d:\database_bak\yiibaidb.sql。 请注意,运算符(>)表示导出。

步骤2

将d:\database_bak\yiibaidb.sql文件导入到yiibaidb_backup数据库。

C:\Users\Administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql
Enter password: **********
Shell
请注意,运算符(<)表示导入。

要验证导入,可以使用SHOW TABLES命令快速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

 


__EOF__

作  者:华丽D转身
出  处:https://www.cnblogs.com/snake23/archive/2018/09/05/9593887.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!

标签: mysql
好文要顶 关注我 收藏该文     华丽D转身
关注 - 6
粉丝 - 41
+加关注
1 0
posted @ 2018-09-05 19:01 华丽D转身 阅读(6815) 评论(0) 编辑 收藏
刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册, 访问 网站首页。
MENU
mysql复制表以及复制数据库
Copyright © 2019 华丽D转身 
Powered by .NET Core 3.0.0 on Linux
【事实并非理所当然❤️世界总是欲盖弥彰】
This blog has running : 1069 d 6 h 5 m 13 sღゝ◡╹)ノ♡
友情链接:华/丽/D/转/身
00:00 / 03:50    

关闭页面特效
(一)将旧表复制到新表

1、CREATE TABLE新表 SELECT* FROM旧表;

该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等。

 

CREATE TABLE if not exists new_table
SELECT col1, col2, col3
FROM
existing_table
WHERE
conditions;

2、MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 

其中在使用select  into 语句与insert into select 语句时,新表要提前建立,并且新表与旧表的字段属性要一样才可以。

create table 新表 like 旧表;

新表建立之后才可以使用下面的两个语句:

SELECT * INTO 新表   FROM  旧表;

INSERT INTO  新表  SELECT * FROM  旧表;

只复制希望的列插入到另一个已存在的表中:

INSERT INTO  新表  (column_name(s))  SELECT   column_name(s)  FROM  旧表;

实例:INSERT INTO Websites (name, country) SELECT app_name, country FROM apps;

 

(二)复制相同表结构

 

对于mysql的复制相同表结构方法,有create table as 和create table like 两种

create table 新表 like 旧表;

create table 新表 as select * from 旧表 limit 0;

二者的区别:

 

as用来创建相同表结构并复制源表数据

like用来创建完整表结构和全部索引

oracle支持as,也是只有表结构没有索引
oracle不支持like。

(三)MySQL复制表到另一个数据库

访问不同数据库中的表:数据库名.表名 ,采用点 的形式。

有时,您要将表复制到其他数据库。 在这种情况下,可使用以下语句:

CREATE TABLE destination_db.new_table
LIKE source_db.existing_table;
 
INSERT destination_db.new_table
SELECT *
FROM source_db.existing_table;
SQL
具体流程:

CREATE DATABASE IF NOT EXISTS testdb;
SQL
其次,通过将其结构从示例数据库(yiibaidb)中的offices表复制出来,在testdb中创建了offices表。

CREATE TABLE testdb.offices LIKE yiibaidb.offices;
SQL
第三,我们将数据从yiibaidb.offices表复制到testdb.offices表中。

INSERT testdb.offices
SELECT *
FROM yiibaidb.offices;
 

(四)MySQL数据库导入导出

1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名
2 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution > G:\arcgisworkspace\zypdoc\test.sql
3:(导出某张表的表结构和数据,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution > G:\arcgisworkspace\zypdoc\test.sql
mysqldump-u root -p yiibaidb >d:\database_bak\yiibaidb.sql
其中>表示导出。
2、导入sql文件
在MySQL中新建数据库,这时是空数据库,如新建一个名为news的目标数据库
create database if not exists news;
use news;
导入文件:
source 路径+导入的文件名; 
source d:\mysql.sql;
 

要复制一个MySQL数据库,您需要执行以下步骤:

首先,使用CREATE DATABASE语句创建一个新的数据库。
其次,使用mysqldump工具导出要复制的数据库的所有数据库对象和数据。
第三,将SQL转储文件导入新的数据库。
作为一个演示,假设要把yiibaidb数据库复制到yiibaidb_backup数据库:

步骤1, 创建yiibaidb_backup数据库:

首先,登录到MySQL数据库服务器:

C:\Users\Administrator> mysql -u root -p
Enter password: **********
Shell
然后,使用CREATE DATABASE语句如下:

CREATE DATABASE yiibaidb_backup;
SQL
第三,使用SHOW DATABASES命令验证:

SHOW DATABASES
SQL
 

步骤2

 

使用mysqldump工具将数据库对象和数据转储到SQL文件中。

假设要将数据库对象和数据库转储到位于D:\database_bak文件夹的SQL文件中,这里是以下命令:

C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
Enter password: **********
SQL
基本上,此命令指示mysqldump使用具有密码的root用户帐户登录到MySQL服务器,并将数据库对象和yiibaidb数据库的数据导出到d:\database_bak\yiibaidb.sql。 请注意,运算符(>)表示导出。

步骤2

将d:\database_bak\yiibaidb.sql文件导入到yiibaidb_backup数据库。

C:\Users\Administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql
Enter password: **********
Shell
请注意,运算符(<)表示导入。

要验证导入,可以使用SHOW TABLES命令快速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值