当前位置:首页 » 编程语言 » sql数据库复制表字段
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据库复制表字段

发布时间: 2022-03-15 15:44:58

1. 怎样将sql数据库表复制到另一个sql数据库中

结构一样的话
insert into 数据库A.dbo.TableA
select * from 数据库B.dbo.TableA

另外:
nsert into DDD(字段1,字段2,字段3 .....)
(
select 字段1,字段2,字段3 ..... from AAA,BBB,CCC
)
插入的字段和查询的字段数量类型一致
由于你的夸库查询插入
所以在表名前加 库名.用户名
insert into B.用户.DDD(字段1,字段2,字段3 .....)
(
select 字段1,字段2,字段3 ..... from A.用户.AAA,A.用户.BBB,A.用户.CCC
)
如果是sqlserver数据库,可以在查询分析器左边菜单看到表用户名,
如果你是在A库下操作,可以省去A库表的库名.用户名,同理B库表也一样

2. sql server 如何完整复制表 包括表结构,索引,字段说明,依赖关系等等

复制表结构的通用存储过程

--Transfer对象的重要属性

--1.属性

属性名类型描述
------------------------------------------------------------------------
CopyAllDefaultsBoolean所有默认值
CopyAllObjectsBoolean所有对象
CopyAllRulesBoolean所有规则
CopyAllStoredProceresBoolean所有存储过程
CopyAllTablesBoolean所有表
CopyAllTriggersBoolean所有触发器
所有用户自定义类型
CopyAllViewsBoolean所有视图
CopyDataBoolean所有数据
DestDatabaseString目标对象数据库
DestLoginString目标数据库登陆用户名
DestPasswordString目标数据库登陆密码
DestServerString目标服务器
用户信任连接
DropDestObjectsFirstBoolean是否先删除目标对象
IncludeDependenciesBoolean是否包含依靠对象
ScriptTypeBoolean脚本类型

--2.重要方法:

方法名称功能描述
-----------------------------------------------------
AddObject增加对象
AddObjectByName通过对象名称增加对象

ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[P_CopyDB]')andOBJECTPROPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[P_CopyDB]
GO

/*--在SQLServer中使用SQLDMO.Transfer实现数据迁移
存储过程实现源数据库到目标数据库的对象和数据的复制
要求源数据库和目标数据库在同一服务器
如果是要实现不同服务器之间的复制,则需要增加验证信息
--邹建2005.07(引用请保留此信息)--*/

/*--调用示例

CREATEDATABASEtest
EXECP_CopyDB@Source_DB='northwind',@Des_DB='test'
DROPDATABASEtest
--*/
CREATEPROCEDUREP_CopyDB
@Des_DBsysname,--目标数据库
@Obj_Typenvarchar(4000)=N'',--复制的对象类型,可以是下列字符串行表:
--O所有对象,D默认值,R规则,P存储过程
--T表,TR触发器,DT用户定义数据类型
--V视图,DATA数据,DEL删除目标对象
@Source_DBsysname=N'',--源数据库
@ServerNamesysname=N'',--服务器名
@UserNamesysname=N'',--用户名,不指定则表示使用Windows身份登录
@pwdsysname=N''--密码
AS
SETNOCOUNTON
DECLARE@srvidint,@Dbidint,@S_dbidint,@D_dbidint,@TransferIDint,
@errint,@srcvarchar(255),@descvarchar(255)

IFISNULL(@ServerName,N'')=N''SET@ServerName=@@SERVERNAME
IFISNULL(@Source_DB,N'')=N''SET@Source_DB=DB_NAME()

--创建sqldmo对象·
EXEC@err=sp_oacreate'sqldmo.sqlserver',@srvidOUT
IF@err<>0GOTOlb_Err

--连接服务器
IFISNULL(@UserName,N'')=N''--使用Windows身份登录
BEGIN
EXEC@err=sp_oasetproperty@srvid,'loginsecure',-1
IF@err<>0GOTOlb_Err

EXEC@err=sp_oamethod@srvid,'connect',NULL,@servername
END
ELSE
EXEC@err=sp_oamethod@srvid,'connect',NULL,@servername,@UserName,@pwd

IF@err<>0GOTOlb_Err

--获取数据库集
EXEC@err=sp_oagetproperty@srvid,'databases',@DbidOUT
IF@err<>0GOTOlb_Err

--选择源数据库
EXEC@err=sp_oamethod@Dbid,'item',@S_dbidOUT,@Source_DB
IF@err<>0GOTOlb_Err

--选择目标数据库
EXEC@err=sp_oamethod@Dbid,'item',@D_dbidOUT,@Des_DB
IF@err<>0GOTOlb_Err

--设置复制的对象
EXEC@err=sp_oacreate'SQLDMO.Transfer',@TransferIDOUT
IF@err<>0GOTOlb_Err

--设置目标服务器信息
EXEC@err=sp_oasetproperty@TransferID,'DestServer',@ServerName
IF@err<>0GOTOlb_Err

--设置连接用户
IFISNULL(@UserName,N'')=N''--使用Windows身份登录
BEGIN
EXEC@err=sp_oasetproperty@TransferID,'DestUseTrustedConnection',1
IF@err<>0GOTOlb_Err
END
ELSE
BEGIN
EXEC@err=sp_oasetproperty@TransferID,'DestLogin',@UserName
IF@err<>0GOTOlb_Err

EXEC@err=sp_oasetproperty@TransferID,'DestPassword',@pwd
IF@err<>0GOTOlb_Err
END

--设置复制对象信息
EXEC@err=sp_oasetproperty@TransferID,'DestDatabase',@Des_DB
IF@err<>0GOTOlb_Err

DECLAREtbCURSORFAST_FORWARDLOCAL
FOR
SELECTNameFROM(
SELECTKeyWord=N',D,',Name=N'CopyAllDefaults'UNIONALL
SELECTKeyWord=N',O,',Name=N'CopyAllObjects'UNIONALL
SELECTKeyWord=N',R,',Name=N'CopyAllRules'UNIONALL
SELECTKeyWord=N',P,',Name=N'CopyAllStoredProceres'UNIONALL
SELECTKeyWord=N',T,',Name=N'CopyAllTables'UNIONALL
SELECTKeyWord=N',TR,',Name=N'CopyAllTriggers'UNIONALL
SELECTKeyWord=N',DT,',Name=N'CopyAllUserDefinedDatatypes'UNIONALL
SELECTKeyWord=N',V,',Name=N'CopyAllViews'UNIONALL
SELECTKeyWord=N',DATA,',Name=N'CopyData'UNIONALL
SELECTKeyWord=N',DEL,',Name=N'DropDestObjectsFirst'
)AWHERECHARINDEX(KeyWord,
CASEWHENISNULL(@Obj_Type,N'')=''THEN',O,DATA,'ELSE@Obj_TypeEND)>0
OPENtb
FETCHtbINTO@src
WHILE@@FETCH_STATUS=0
BEGIN
EXEC@err=sp_oasetproperty@TransferID,@src,1
IF@err<>0GOTOlb_Err
FETCHtbINTO@src
END
CLOSEtb
DEALLOCATEtb

--复制对象
EXEC@err=sp_oamethod@S_dbid,'Transfer',null,@TransferID
IF@err<>0GOTOlb_Err

--结束
SET@err=0
GOTOlb_Exit

--错误处理
lb_Err:
EXECsp_oageterrorinfoNULL,@srcOUT,@descOUT
RAISERROR(N'错误编号%#x,错误源"%s",错误描述"%s"',16,1,@err,@src,@desc)
RETURN-1

lb_Exit:
EXECsp_OADestroy@Dbid
EXECsp_OADestroy@srvid
EXECsp_OADestroy@TransferID
RETURN@err
GO

个人觉得最好的方法还是备份还原,这样这个数据库都可以复制。当然这个方法不是什么时候都能使用的

3. SQL数据库怎么重新复制表

MSSQL中是不能这样复制
粘贴的。
可以这样呀:select
*
from
[表1]
into
[表1复件]
这样是复制数据,不能复制索引、触发器、关系等。
记得在下次备份数据之前执行一句:truncate
table
[表1复件],消除[表1复件]
中的数据,以免数据重复。

4. sql将一个数据库的表复制到另一个数据库的表中

MS SQL用法如下:
在数据库A上操作
INSERT INTO [user]
SELECT * FROM opendatasource( 'SQLOLEDB','Data Source=ip/ServerName;User ID=登陆名;Password=密码').B数据库.dbo.bakuser
WHERE DATEPART(yy,yf) < 2010

5. SQL数据库怎么重新复制表啊

MSSQL中是不能这样复制 粘贴的。
可以这样呀:select * from [表1] into [表1复件]

这样是复制数据,不能复制索引、触发器、关系等。

记得在下次备份数据之前执行一句:truncate table [表1复件],消除[表1复件] 中的数据,以免数据重复。

6. sql 复制不同数据库相同表的部分字段,该如何操作

两个数据库之间直接复制只有access支持,别的库得用数据接口

7. sql如何把一个表中的字段复制到另一个表中

用更新语句就行了,比如update username1 set username1.name=stuinfo.xm from username1,stuinfo

8. SQL不同表复制字段

先建立两个数据库之间的连接,
然后使用如下SQL语句
INSERT INTO SERVER1(192.168.0.1)..A a
SELECT * FROM SERVER2(192.168.0.2)..A1 a1
WHERE NOT EXISTS (select 1 from a where a.LSBH = a1.LSBH)
ORDER BY a1.LSBH
;

9. sql创建一个表,复制两个表的字段,怎么写sql

表3存在的话:

insertintoCselecta.aa,a.b1,a.c1,b.b2,b.c2froma,bwherea.aa=b.aa

表3不存在的话,看什么数据库:

oracle,mysql

createtablecasselecta.aa,a.b1,a.c1,b.b2,b.c2froma,bwherea.aa=b.aa

sqlserver,access等:

selecta.aa,a.b1,a.c1,b.b2,b.c2intoCfroma,bwherea.aa=b.aa

10. sql server数据库 如何实现将某表某一列的所有值复制到另一表的某一行某一列的一个字段中

写sql语句,用列转行的形式,估计sql语句有点复杂,不熟悉的要点功夫才能写出来,不知道你会不会写