zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mysql跨数据库复制表(在同一IP地址中)示例

mysql数据库 示例 复制 IP地址 同一
2023-06-13 09:15:19 时间

数据库表间数据复制分类

在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。

1、表结构相同的表,且在同一数据库(如,table1,table2)

Sql:

复制代码代码如下:

insertintotable1select  *   fromtable2(完全复制)
insertintotable1select  distinct  *  fromtable2(不复制重复纪录)
insertintotable1select  top5*  from  table2(前五条纪录)

2、不在同一数据库中(如,db1table1,db2table2)

sql:       
[code]
insertintodb1.table1select  *   fromdb2.table2(完全复制)
insertintodb1.table1select  distinct  *  fromdb2table2(不复制重复纪录)
insertintotdb1.able1select  top5*  from  db2table2(前五条纪录)

3、表结构不同的表或复制部分纪录(如,dn_user,dn_user2)

a. 建一个新表[DN_UserTemp](在老表dn_user上增加一列)

复制代码代码如下:

CREATETABLE[DN_UserTemp]([Num][numeric](18,0)IDENTITY(1,1)NOTNULL)
[Id][idtype]NOTNULL,
[Name][fntype]NOTNULL,
[Descript][dstype]NULL,
[LogonNm][idtype]NOTNULL,
[Password][idtype]NULL,
[Gender][char](1)NULL,
[Quited][booltype]NOTNULL,
[OffDuty][booltype]NOTNULL,
[Stopped][booltype]NOTNULL,
[OSBind][booltype]NOTNULL,
[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)COLLATEChinese_PRC_CI_ASNULL,
[ExpireDT][datetime]NULL,
[Sort][int]NOTNULL,
[AllowDel][booltype]NOTNULL,
[UnitChief][booltype]NOTNULL,
[BranchChief][booltype]NOTNULL,
[UnitDeputy][booltype]NOTNULL,
[BranchDeputy][booltype]NOTNULL,

[Num][numeric](18,0)IDENTITY(1,1)NOTNULL

)ON[PRIMARY]

b.将dn_uer2的数据拷入dn_usertemp

sql:insertintodn_usertempselect*fromdn_user2

c.将dn_usertemp拷入dn_user

sql:

复制代码代码如下:
declare  @iint
declare  @jint
declare  @Namefntype
set@i=1
select@j=count(*)fromdn_usertemp
while@i<@j1
begin

select@Name=Namefromdn_usertempwhereNum=@i
print@Name
insertintodn_user(Name)values(@Name)whereNum=@i
select@i=@i1
end



MySql数据库复制表数据

将production数据库中的mytbl表快速复制为mytbl_new,2个命令如下:

复制代码代码如下:
CREATETABLEmytbl_newLIKEproduction.mytbl;
INSERTmytbl_newSELECT*FROMproduction.mytbl;

第一个命令是创建新的数据表mytbl_new,并复制mytbl的数据表结构。

第二个命令是讲数据表mytbl中的数据复制到新表mytbl_new。

注:production.mytbl是指定要复制表的数据库名称为production。它是可选的。

假如没有production.,MySQL数据库将会假设mytbl在当前操作的数据库。

另外:在mysql数据库中复制数据为:

复制代码代码如下:
select*intodesTablefromsourceTable在mssql中支持,在mysql中不支持
insertintodesTableselect*fromsourceTable