1、打開navicat軟件,打開要復(fù)制表的數(shù)據(jù)庫,如下圖所示:
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、海倫網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為海倫等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
2、點擊上方的“工具-數(shù)據(jù)傳輸”,如下圖所示:
3、進去之后,左邊選擇的是要復(fù)制的表的數(shù)據(jù)庫,右邊選擇的將表復(fù)制到目標(biāo)數(shù)據(jù)庫,如下圖所示:
4、打開左邊數(shù)據(jù)庫對象中的“表”,選擇要復(fù)制哪幾張表,點擊開始。
5、點擊開始,會彈出一個框,點擊是,等待一下,出現(xiàn)如下界面,復(fù)制成功,點擊“關(guān)閉”。
6、可以看到表已經(jīng)復(fù)制到另外一個數(shù)據(jù)庫上了,如下圖所示:
1、可以用PB、PLSQL Developer等軟件,把表的數(shù)據(jù)倒成SQL文件,在MySql中執(zhí)行!2、也可以嘗試寫數(shù)據(jù)遷移程序,大概步驟是這樣:1)、根據(jù)雙方數(shù)據(jù)庫的數(shù)據(jù)字典,羅列出需要的字段2)、編寫相應(yīng)的遷移程序,主要注意的地方就是Oracle的數(shù)據(jù)類型要做相應(yīng)的轉(zhuǎn)換,轉(zhuǎn)移成DB2里有的,刪除倒出時一些無用的數(shù)據(jù),使導(dǎo)入的數(shù)據(jù)具有意義!3)、抽取數(shù)據(jù)做驗證!3、如果數(shù)據(jù)量不大的話,完成可以用把表的數(shù)據(jù)倒成SQL文件再執(zhí)行!
在利用數(shù)據(jù)庫開發(fā)時,常常會將一些表之間的數(shù)據(jù)互相導(dǎo)入。當(dāng)然可以編寫程序?qū)崿F(xiàn),但是,程序常常需要開發(fā)環(huán)境,不方便。最方便是利用sql語言直接導(dǎo)入。既方便而修改也簡單。以下就是導(dǎo)入的方法。
1、 表結(jié)構(gòu)相同的表,且在同一數(shù)據(jù)庫(如,table1,table2)
Sql :
復(fù)制代碼代碼如下:
insert into table1 select * from table2 (完全復(fù)制)
insert into table1 select distinct * from table2(不復(fù)制重復(fù)紀(jì)錄)
insert into table1 select top 5 * from table2 (前五條紀(jì)錄)
2、不在同一數(shù)據(jù)庫中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1.table1 select * from db2.table2 (完全復(fù)制)
insert into db1.table1 select distinct * from db2table2(不復(fù)制重復(fù)紀(jì)錄)
insert into tdb1.able1 select top 5 * from db2table2 (前五條紀(jì)錄)
3、表結(jié)構(gòu)不同的表或復(fù)制部分紀(jì)錄(如,dn_user,dn_user2)
a. 建一個新表[DN_UserTemp](在老表dn_user上增加一列)
一、復(fù)制表里面的一條記錄并插入表里面
① insert into article(title,keywords,desc,contents) select title,keywords,desc,contents from article where article_id = 100;
二、復(fù)制表里的多條數(shù)據(jù)/記錄,并插入到表里面
① INSERT INTO `power_node`(title,type,status) SELECT title,type,status FROM power_node WHERE id 5;
② INSERT into jiaban (num,overtime) SELECT num,overtime from jiaban where id IN(1,3,5,6,7,9);
三、在創(chuàng)建表時,就插入另一張表里面的某些數(shù)據(jù)
① create table user AS select * from member where id 10
你建表復(fù)制就可以了,例如CREATE TABLE aa AS SELECT * FROM tree;這是完全復(fù)制tree表的數(shù)據(jù)及表結(jié)構(gòu)到aa表中。假如要復(fù)制某些字段的話,如:insert into 表名user(表中字段sal) select sal from emp;插入某一列sal到user表中,從emp表中獲取sal的數(shù)據(jù)信息。最后提醒下,Oracle和MySql復(fù)制表建表 一樣,可以自己建表結(jié)構(gòu),再復(fù)制數(shù)據(jù);也可以復(fù)制部分列和部分?jǐn)?shù)據(jù),分開操作。 但要保證數(shù)據(jù)類型一致,插入指定列數(shù),列數(shù)要相同,列的長度空間大就可以了。
我google了一下大概有一下幾個方法,
1.復(fù)制表結(jié)構(gòu)及數(shù)據(jù)到新表
CREATE TABLE 新表 SELECT * FROM 舊表
2.只復(fù)制表結(jié)構(gòu)到新表
CREATE TABLE 新表 SELECT * FROM 舊表 WHERE 1=2
即:讓W(xué)HERE條件不成立.
3.復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)一樣)
INSERT INTO 新表 SELECT * FROM 舊表
4.復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)不一樣)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 舊表