在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。<br/> 1、表结构相同的表,且在同一数据库(如,table1,table2)<br/> Sql:<br/> 代码如下:<br/> insertintotable1select*fromtable2(完全复制)<br/> insertintotable1selectdistinct*fromtable2(不复制重复纪录)<br/> insertintotable1selecttop5*fromtable2(前五条纪录)<br/> 2、不在同一数据库中(如,db1table1,db2table2)<br/> sql:<br/> [code]<br/> insertintodb1.table1select*fromdb2.table2(完全复制)<br/> insertintodb1.table1selectdistinct*fromdb2table2(不复制重复纪录)<br/> insertintotdb1.able1selecttop5*fromdb2table2(前五条纪录)<br/> 3、表结构不同的表或复制部分纪录(如,dn_user,dn_user2)<br/> a.建一个新表[DN_UserTemp](在老表dn_user上增加一列)<br/> 代码如下:<br/> CREATETABLE[DN_UserTemp]([Num][numeric](18,0)IDENTITY(1,1)NOTNULL)<br/> [Id][idtype]NOTNULL,<br/> [Name][fntype]NOTNULL,<br/> [Descript][dstype]NULL,<br/> [LogonNm][idtype]NOTNULL,<br/> [Password][idtype]NULL,<br/> [Gender][char](1)NULL,<br/> [Quited][booltype]NOTNULL,<br/> [OffDuty][booltype]NOTNULL,<br/> [Stopped][booltype]NOTNULL,<br/> [OSBind][booltype]NOTNULL,<br/> [Domain][idtype]NULL,<br/> [EMail][fntype]NULL,<br/> [UnitId][idtype]NULL,<br/> [BranchId][idtype]NULL,<br/> [DutyId][idtype]NULL,<br/> [LevelId][idtype]NULL,<br/> [ClassId][idtype]NULL,<br/> [TypeId][idtype]NULL,<br/> [IP][varchar](15)COLLATEChinese_PRC_CI_ASNULL,<br/> [ExpireDT][datetime]NULL,<br/> [Sort][int]NOTNULL,<br/> [AllowDel][booltype]NOTNULL,<br/> [UnitChief][booltype]NOTNULL,<br/> [BranchChief][booltype]NOTNULL,<br/> [UnitDeputy][booltype]NOTNULL,<br/> [BranchDeputy][booltype]NOTNULL,<br/> [Num][numeric](18,0)IDENTITY(1,1)NOTNULL<br/> )ON[PRIMARY]<br/> b.将dn_uer2的数据拷入dn_usertemp<br/> sql:insertintodn_usertempselect*fromdn_user2<br/> c.将dn_usertemp拷入dn_user<br/> sql:<br/> 代码如下:<br/> declare@iint<br/> declare@jint<br/> declare@Namefntype<br/> set@i=1<br/> select@j=count(*)fromdn_usertemp<br/> while@i<@j1<br/> begin<br/> select@Name=Namefromdn_usertempwhereNum=@i<br/> print@Name<br/> insertintodn_user(Name)values(@Name)whereNum=@i<br/> select@i=@i1<br/> end<br/> MySql数据库复制表数据<br/> 将production数据库中的mytbl表快速复制为mytbl_new,2个命令如下:<br/> 代码如下:<br/> CREATETABLEmytbl_newLIKEproduction.mytbl;<br/> INSERTmytbl_newSELECT*FROMproduction.mytbl;<br/> 第一个命令是创建新的数据表mytbl_new,并复制mytbl的数据表结构。<br/> 第二个命令是讲数据表mytbl中的数据复制到新表mytbl_new。<br/> 注:production.mytbl是指定要复制表的数据库名称为production。它是可选的。<br/> 假如没有production.,MySQL数据库将会假设mytbl在当前操作的数据库。<br/> 另外:在mysql数据库中复制数据为:<br/> 代码如下:<br/> select*intodesTablefromsourceTable在mssql中支持,在mysql中不支持<br/> insertintodesTableselect*fromsourceTable<br/>
|