加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 08:04:38 所属栏目:MsSql教程 来源:网络整理
导读:数据库表间数据复制分类 在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。 1、 表结构相同的表,且在同一数据库

数据库表间数据复制分类

在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用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,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读