程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql跨數據庫復制表(在統一IP地址中)示例

mysql跨數據庫復制表(在統一IP地址中)示例

編輯:MySQL綜合教程

mysql跨數據庫復制表(在統一IP地址中)示例。本站提示廣大學習愛好者:(mysql跨數據庫復制表(在統一IP地址中)示例)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql跨數據庫復制表(在統一IP地址中)示例正文


數據庫表間數據復制分類

在應用數據庫開辟時,經常會將一些表之間的數據相互導入。固然可以編寫法式完成,然則,法式經常須要開辟情況,不便利。最便利是應用sql說話直接導入。既便利而修正也簡略。以下就是導入的辦法。

1、 表構造雷同的表,且在統一數據庫(如,table1,table2)

Sql :

insert into table1 select   *    from table2 (完整復制)
insert into table1 select   distinct   *   from table2(不復制反復記載)
insert into table1 select   top 5 *   from   table2 (前五條記載)

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上增長一列)

CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
[Id] [idtype] NOT NULL ,
[Name] [fntype] NOT NULL ,
[Descript] [dstype] NULL ,
[LogonNm] [idtype] NOT NULL ,
[Password] [idtype] NULL ,
[Gender] [char] (1) NULL ,
[Quited] [booltype] NOT NULL,
[OffDuty] [booltype] NOT NULL ,
[Stopped] [booltype] NOT NULL,
[OSBind] [booltype] NOT NULL,
[Domain] [idtype] NULL ,
[EMail] [fntype] NULL ,
[UnitId] [idtype] NULL ,
[BranchId] [idtype] NULL ,
[DutyId] [idtype] NULL ,
[LevelId] [idtype] NULL ,
[ClassId] [idtype] NULL ,
[TypeId] [idtype] NULL ,
[IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ExpireDT] [datetime] NULL ,
[Sort] [int] NOT NULL ,
[AllowDel] [booltype] NOT NULL,
[UnitChief] [booltype] NOT NULL,
[BranchChief] [booltype] NOT NULL ,
[UnitDeputy] [booltype] NOT NULL ,
[BranchDeputy] [booltype] NOT NULL ,

[Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL

) ON [PRIMARY]

b. 將dn_uer2的數據拷入dn_usertemp

sql:insert into dn_usertemp select * from dn_user2

c.將dn_usertemp 拷入dn_user

sql:

declare   @i int
declare   @j int
declare   @Name fntype
set @i=1
select @j=count(*) from dn_usertemp
while @i<@j 1
begin

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


MySql數據庫復制表數據

將 production 數據庫中的 mytbl 表疾速復制為 mytbl_new,2個敕令以下:

CREATE TABLE mytbl_new LIKE production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;

第一個敕令是創立新的數據表 mytbl_new ,並復制 mytbl 的數據表構造。

第二個敕令是講數據表 mytbl 中的數據復制到新表 mytbl_new 。

注:production.mytbl是指定要復制表的數據庫稱號為 production 。它是可選的。

假設沒有production. ,MySQL數據庫將會假定mytbl在以後操作的數據庫。

別的:在mysql數據庫中復制數據為:

select * into desTable from sourceTable在mssql中支撐,在mysql中不支撐
insert into desTable select * from sourceTable

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved