數據庫表間數據復制分類
在利用數據庫開發時,常常會將一些表之間的數據互相導入。當然可以編寫程序實現,但是,程序常常需要開發環境,不方便。最方便是利用sql語言直接導入。既方便而修改也簡單。以下就是導入的方法。
1、 表結構相同的表,且在同一數據庫(如,table1,table2)
Sql :
2、不在同一數據庫中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1.table1 select * from db2.table2 (完全復制)
insert into db1.table1 select distinct * from db2table2(不復制重復紀錄)
insert into tdb1.able1 select top 5 * from db2table2 (前五條紀錄)
3、表結構不同的表或復制部分紀錄(如,dn_user,dn_user2)
a. 建一個新表[DN_UserTemp](在老表dn_user上增加一列)
) ON [PRIMARY]
b. 將dn_uer2的數據拷入dn_usertemp
sql:insert into dn_usertemp select * from dn_user2
c.將dn_usertemp 拷入dn_user
sql:
select @Name=Name from dn_usertemp where Num=@i
print @Name
insert into dn_user (Name) values (@Name) where Num=@i
select @i=@i 1
end
將 production 數據庫中的 mytbl 表快速復制為 mytbl_new,2個命令如下:
第一個命令是創建新的數據表 mytbl_new ,并復制 mytbl 的數據表結構。
第二個命令是講數據表 mytbl 中的數據復制到新表 mytbl_new 。
注:production.mytbl是指定要復制表的數據庫名稱為 production 。它是可選的。
假如沒有production. ,MySQL數據庫將會假設mytbl在當前操作的數據庫。
另外:在mysql數據庫中復制數據為:
新聞熱點
疑難解答