本文給大家分享了好幾種復(fù)制表結(jié)構(gòu)、表數(shù)據(jù)的示例介紹,具體詳情請看下文吧。
創(chuàng)新互聯(lián)是一家專業(yè)提供涼城企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、HTML5、小程序制作等業(yè)務(wù)。10年已為涼城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
1、復(fù)制表結(jié)構(gòu)及數(shù)據(jù)到新表
CREATE
TABLE
新表SELECT
*
FROM
舊表
這種方法會將oldtable中所有的內(nèi)容都拷貝過來,當(dāng)然我們可以用delete
from
newtable;來刪除。
不過這種方法的一個(gè)最不好的地方就是新表中沒有了舊表的primary
key、Extra(auto_increment)等屬性。需要自己用"alter"添加,而且容易搞錯(cuò)。
2、只復(fù)制表結(jié)構(gòu)到新表
CREATE
TABLE
新表SELECT
*
FROM
舊表WHERE
1=2
或CREATE
TABLE
新表LIKE
舊表
3、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)一樣)
INSERT
INTO
新表SELECT
*
FROM
舊表
4、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)不一樣)
INSERT
INTO
新表(字段1,字段2,.......)
SELECT
字段1,字段2,......
FROM
舊表
5、可以將表1結(jié)構(gòu)復(fù)制到表2
SELECT
*
INTO
表2
FROM
表1
WHERE
1=2
6、可以將表1內(nèi)容全部復(fù)制到表2
SELECT
*
INTO
表2
FROM
表1
7、
show
create
table
舊表;
這樣會將舊表的創(chuàng)建命令列出。我們只需要將該命令拷貝出來,更改table的名字,就可以建立一個(gè)完全一樣的表
8、mysqldump
用mysqldump將表dump出來,改名字后再導(dǎo)回去或者直接在命令行中運(yùn)行
9、復(fù)制舊數(shù)據(jù)庫到新數(shù)據(jù)庫(復(fù)制全部表結(jié)構(gòu)并且復(fù)制全部表數(shù)據(jù))
#mysql
-u
root
-ppassword
CREATE
DATABASE
new_db;
#mysqldump
old_db
-u
root
-ppassword--skip-extended-insert
--add-drop-table
|
mysql
new_db
-u
root
-ppassword
10、表不在同一數(shù)據(jù)庫中(如,db1
table1,
db2
table2)
sql:
insert
into
db1.table1
select
*
from
db2.table2
(完全復(fù)制)
insert
into
db1.table1
select
distinct
*
from
db2.table2(不復(fù)制重復(fù)紀(jì)錄)
insert
into
tdb1.able1
select
top
5
*
from
db2.table2
(前五條紀(jì)錄)以上內(nèi)容就是本文的全部敘述,希望大家喜歡。
使用這種方法前,我們需要先下載一個(gè)MySQL客戶端工具SqlYog。點(diǎn)擊這里下載并安裝\x0d\x0a\x0d\x0a下面我們開始復(fù)制數(shù)據(jù)庫:\x0d\x0a1、打開SqlYog community Edition,分別在不同的選項(xiàng)卡中打開源數(shù)據(jù)庫服務(wù)器與目標(biāo)數(shù)據(jù)庫服務(wù)器,這一點(diǎn)很重。\x0d\x0a\x0d\x0a在源數(shù)據(jù)庫服務(wù)器選項(xiàng)卡中你將看到所有數(shù)據(jù)庫列表。\x0d\x0a2、在需要復(fù)制遷移的數(shù)據(jù)庫上右擊,在彈出菜單中選擇“Copy Database to Different Host/Database”\x0d\x0a3、在彈出對話框中,我們能看到源數(shù)據(jù)庫服務(wù)器及目標(biāo)服務(wù)器,在左邊,通過勾選復(fù)選框來選擇需要復(fù)制遷移的對象,如表、函數(shù)、觸發(fā)器等,也可以選擇所有對象。\x0d\x0a4、在右邊選擇需要遷移的目標(biāo)服務(wù)器或數(shù)據(jù)庫\x0d\x0a5、根據(jù)你的需要選擇復(fù)制類型:“Structure and Data”或“Structure only”,即“結(jié)構(gòu)和數(shù)據(jù)”或“僅結(jié)構(gòu)”。\x0d\x0a6、選擇結(jié)束后點(diǎn)擊“Copy”按鈕開始復(fù)制,知道數(shù)據(jù)遷移結(jié)束。
1、復(fù)制表結(jié)構(gòu)(語法
creata
table
舊表
select
*
from
新表)
create
table
t1(
id
int
unsigned
auto_increment
primary
key,
name
varchar(32)
not
null
default
'',
pass
int
not
null
default
);
desc
查看表結(jié)構(gòu)
創(chuàng)建表
t2
同時(shí)復(fù)制表
t1
表結(jié)構(gòu)
create
table
t2
select
*
from
t1;
desc
t2
查看表結(jié)構(gòu)
注意:兩張的表字段結(jié)構(gòu)一樣,但是
主鍵
primary
key
和
自增
auto_increment
沒有了,所以這種方法不推薦大家使用,那如何才能創(chuàng)建出兩張完全一樣的表呢,辦法肯定有的,如下面語句。
create
table
t2
like
t1;
這就可以創(chuàng)建一張
t2
和
t1
完全一樣的表了。
2、指定字段復(fù)制表結(jié)構(gòu)
語法:
create
table
新表
select
字段1,字段2
…
from
舊表
3、復(fù)制表中數(shù)據(jù)
假設(shè)要把表
t1
中的數(shù)據(jù)全部復(fù)制到表
t2中
insert
into
t2
select
* from
t1;
如果只想復(fù)制某個(gè)字段
insert
into
t2(字段1,字段2)
select
字段1,字段2 from
t1;