SQL 把一个数据库里面的某张表里的数据插入到另外一个数据库里面的一张表

本文介绍了在不同数据库管理系统(DBMS)环境下,如何通过SQL将一个数据库中的表数据插入到另一个数据库的表中,包括同一DBMS环境下的直接插入方法和跨DBMS环境下的链接服务器和数据管道两种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    SQL 把一个数据库里面的某张表里的数据插入到另外一个数据库里面的一张表,总结了2种方法:

  1. 目标及源数据库在同一个DBMS上的情况;      

  insert into tab1 select * from 数据库名.dbo.tab2;

   2. 用数据管道;

   --创建链接服务器  
  exec   sp_addlinkedserver     'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'  
  exec   sp_addlinkedsrvlogin   'srv_lnk','false',null,'用户名','密码'  
  go  
    
  --查询示例  
  select *  from srv_lnk.数据库名.dbo.表名  
    
  --导入示例  
  select * into 表名 from srv_lnk.数据库名.dbo.表名  
    
  --以后不再使用时删除链接服务器  
  exec sp_dropserver 'srv_lnk','droplogins'  
  go  

或者 临时访问

  --如果只是临时访问,可以直接用openrowset  

    EXEC sp_configure 'show advanced options', 1;   
    GO   
    RECONFIGURE;  
    GO  
    EXEC sp_configure 'Ad Hoc Distributed Queries', 1 
    GO   
    RECONFIGURE;  
    GO    

  --查询示例  
  select   *   from   openrowset('SQLOLEDB'  
  ,'sql服务器名';'用户名';'密码'  
  ,数据库名.dbo.表名)  
    
    
  --导入示例  
  select   *   into   表   from   openrowset('SQLOLEDB'  
  ,'sql服务器名';'用户名';'密码'  
  ,数据库名.dbo.表名)  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值