两个数据库中的两张表的之间的数据复制问题[谢谢]

时间:2022-05-15 14:54:04
我有两张表,结构分别是:
CREATE TABLE [dbo].[teldz](
[id] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
[riqi] [datetime] NULL,
[cname] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[age] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[tel] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[yyrq] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[yyxm] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[zjtime] [datetime] NULL,
[diqu] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[telzx] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[zjzx] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[lytime] [datetime] NULL,
[xftime] [datetime] NULL,
[xfxm] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[xfje] [decimal](18, 0) NULL,
[xxly] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[bz] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
[telbh] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[bj] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 CONSTRAINT [PK_teldz] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
----------------------------------------------------------------------------
CREATE TABLE [dbo].[CRE_MAININFO](
[CRE_MI_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[CRE_MI_custid] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_tel] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[CRE_MI_qq] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_identify] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_channel] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[CRE_MI_zixun] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_XCzixun] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_doc] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_area] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_xiadantime] [smalldatetime] NULL,
[CRE_MI_plantime] [smalldatetime] NULL,
[CRE_MI_realtime] [smalldatetime] NULL,
[CRE_MI_bz] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_huanzheid] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_yuyuestate] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[CRE_MI_state] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_wluo] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_check] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CRE_MI_xm] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 CONSTRAINT [PK_CRE_MAININFO] PRIMARY KEY CLUSTERED 
(
[CRE_MI_ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
------------------------------------------------------------------------
请问下,我要把上面那张标的数据,导入或者复制到下面那张表上,请问该怎么导入呀?谢谢,十万火急,我把客户资料的数据弄丢了,各位大哥帮帮忙吧。谢谢

19 个解决方案

#1


sql 2005

#2


insert ta(collist)select collist from tb

#3



insert into 表1(字段..) select 字段.. from 表2

#4


楼上的大哥,能详细点吗?谢谢了

#5


两个数据库中的哟,而且不考虑字段类型呀?

#6


拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) 
insert into b(a, b, c) select d,e,f from a; 

#7


跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) 
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where.. 

#8


insert CRE_MAININFO(col列表,不包括自增ID) select  [col列表,不包括自增ID] FROM teldz where ......

#9


--你要注意字段的对应关系以及字段类型关系,这个相信你应该能搞定的。
insert db1..CRE_MAININFO(col列表,不包括自增ID) 
select  [col列表,不包括自增ID] FROM db2..teldz 
where ......

#10


引用 7 楼 fredrickhu 的回复:
SQL code跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)insertinto b(a, b, c)select d,e,ffrom bin ‘具体数据库’where 条件 
例子:..from bin'"&Server.MapPath(".")&"\data.mdb" &"'where..
up 保持列对应

#11


--1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
--方法一:
select * into b from a where 1<>1
--方法二:
select top 0 * into b from a
--2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3--、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in '具体数据库' where 条件
--例子:
..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

#12


--lz给出的两张表的列数不一样,而且没给出对应关系,这里只能泛泛的写,
--另注意数据库备份很重要,在备份数据之前不要轻易进行插删改操作

--如果要按[dbo].[teldz]中某列向[CRE_MI_ID]插入值要设置
SET IDENTITY_INSERT [dbo].[CRE_MAININFO] ON

--然后插入数据
insert into [dbo].[CRE_MAININFO]
(col1,col2..) --欲插入数据的列列表
select Col_a,Col_b..--数据源列表 
from [dbo].[teldz]; 

SET IDENTITY_INSERT [dbo].[CRE_MAININFO] OFF

#13


更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了

#14


select * into 新表 from 旧表

#15


引用 13 楼 lyzhong 的回复:
更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了



insert into tb2(field2,...) select field1,... from tb1

#16


引用 13 楼 lyzhong 的回复:
更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了

UPDATE TB1 SET COL=COL1 FROM TB2 WHERE ....

#17


引用 13 楼 lyzhong 的回复:
更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了

拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) 
insert into b(a, b, c) select d,e,f from a; 

#18



insert db1..CRE_MAININFO(col列表,不包括自增ID) 
select  [col列表,不包括自增ID] FROM db2..teldz 
where ......

#19


原数据库名 a1 表名 b1 
目标数据库名 a2 表名 b2

insert into a2.dbo.b1 select * from a1.dbo.b1 

#1


sql 2005

#2


insert ta(collist)select collist from tb

#3



insert into 表1(字段..) select 字段.. from 表2

#4


楼上的大哥,能详细点吗?谢谢了

#5


两个数据库中的哟,而且不考虑字段类型呀?

#6


拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) 
insert into b(a, b, c) select d,e,f from a; 

#7


跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) 
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where.. 

#8


insert CRE_MAININFO(col列表,不包括自增ID) select  [col列表,不包括自增ID] FROM teldz where ......

#9


--你要注意字段的对应关系以及字段类型关系,这个相信你应该能搞定的。
insert db1..CRE_MAININFO(col列表,不包括自增ID) 
select  [col列表,不包括自增ID] FROM db2..teldz 
where ......

#10


引用 7 楼 fredrickhu 的回复:
SQL code跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)insertinto b(a, b, c)select d,e,ffrom bin ‘具体数据库’where 条件 
例子:..from bin'"&Server.MapPath(".")&"\data.mdb" &"'where..
up 保持列对应

#11


--1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
--方法一:
select * into b from a where 1<>1
--方法二:
select top 0 * into b from a
--2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3--、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in '具体数据库' where 条件
--例子:
..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

#12


--lz给出的两张表的列数不一样,而且没给出对应关系,这里只能泛泛的写,
--另注意数据库备份很重要,在备份数据之前不要轻易进行插删改操作

--如果要按[dbo].[teldz]中某列向[CRE_MI_ID]插入值要设置
SET IDENTITY_INSERT [dbo].[CRE_MAININFO] ON

--然后插入数据
insert into [dbo].[CRE_MAININFO]
(col1,col2..) --欲插入数据的列列表
select Col_a,Col_b..--数据源列表 
from [dbo].[teldz]; 

SET IDENTITY_INSERT [dbo].[CRE_MAININFO] OFF

#13


更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了

#14


select * into 新表 from 旧表

#15


引用 13 楼 lyzhong 的回复:
更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了



insert into tb2(field2,...) select field1,... from tb1

#16


引用 13 楼 lyzhong 的回复:
更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了

UPDATE TB1 SET COL=COL1 FROM TB2 WHERE ....

#17


引用 13 楼 lyzhong 的回复:
更新呢?我把上面一张表中的某个字段的数据,全部复制更新到下面一张表的某个字段中去
  谢谢了

拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) 
insert into b(a, b, c) select d,e,f from a; 

#18



insert db1..CRE_MAININFO(col列表,不包括自增ID) 
select  [col列表,不包括自增ID] FROM db2..teldz 
where ......

#19


原数据库名 a1 表名 b1 
目标数据库名 a2 表名 b2

insert into a2.dbo.b1 select * from a1.dbo.b1 

#20