Mysql用腳本另個庫之間同步數據

關閉頁面特效
(一)將舊錶複製到新表

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;

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章