SQL:复制数据库某一个表到另一个数据库中
SELECT INTO 表1 FROM 表2 --复制表2如果只复制结构而不复制内容或只复制某一列只要加WHERE条件就好了
例子:SELECT INTO [IMCDB][dbo][SysLog] FROM [AimManageDB][dbo][SysLog]
(将数据库AimManageDB中的SysLog表复制到数据库IMCDB中)
跨服务器复制表
select INTO [SMSDB][dbo][SysLog] FROM openrowset('sqloledb',‘目标服务器’;'账号';'密码',[SMSDB][dbo][SysLog])
(将数据库目标服务器中的SysLog表复制本地的数据库SMSDB中)
eg:如果出现以下错误:
(SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的
"外围应用配置器"。)
解决方法:
启用Ad Hoc Distributed Queries: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
使用完成后,关闭Ad Hoc Distributed Queries:exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure
2012-8-26 其他导入方法
select from table1 into table2 table2必须不存在
insert into table2 select from table1 table2必须存在
可用update语句来更改,但要注意,两列的属性及长度应尽量保持一致,或被更改的列的长度大于另一列的长度,否则在update过程中容易报错。
1、创建测试表,插入数据:
create table test(id int,
name varchar(10),
name1 varchar(10))
insert into test values (1,'a','s')
insert into test values (2,'b','w')
insert into test values (3,'c','x')
数据如下:
2、现在要将name1的内容更改为name中的内容,可用如下语句:
update test set name1=name;
3、更改后的结果如图(此时name和name1列的内容就相同了):
给你看下从ACCESS表读取数据再写入SQL
Server数据库的 *** 作,希望能给你启发
--ACCESS中 *** 作
SQL
Server
数据库,需要你能连接远程的
SQL
Server
服务器:
然后打开ACCESS数据库(用ACCESS打开/程序中打开均可)
--导入数据到ACCESS数据库中
--如果是下载SQL的数据(表已经存在的情况)
insert
into
表名
SELECT
FROM
[ODBC;Driver=SQL
Server;Server=远程SQL服务器名;Uid=用户名;Pwd=密码;database=数据库名]表名
--如果是下载SQL的数据(表不存在的情况)
SELECT
into
表名
FROM
[ODBC;Driver=SQL
Server;Server=远程SQL服务器名;Uid=用户名;Pwd=密码;database=数据库名]表名
--如果是上传数据库到SQL(表已经存在的情况):
insert
into
[ODBC;Driver=SQL
Server;Server=远程SQL服务器名;Uid=用户名;Pwd=密码;database=数据库名]表名
SELECT
FROM
表名
--如果是上传数据库到SQL(表不存在的情况):
SELECT
into
[ODBC;Driver=SQL
Server;Server=远程SQL服务器名;Uid=用户名;Pwd=密码;database=数据库名]表名
FROM
表名
SELECTINTO
陈述式建立产生资料表查询语法SELECT
field1[,
field2[,
]]
INTO
newtable
[IN
externaldatabase]
FROM
sourcesource
从个中选取记录的现存资料表的名称。
此来源可所以单一或多重资料表或一个查询。
SELECTINTO
陈述式可分为以下几个部份:部份
叙述
field1,
field2
欲复制至新增资料表的栏位的名称。
NewTable
欲建立的资料表的名称。
它必须按照标准定名规则。
如不雅
newtable
的名称与现存资料表的名称雷同时,将会发生可以捕获到的错误。
externaldatabase
至外部资料库的路径
有关路径的资讯,请参阅
IN
子句。
注解您可以应用建立资料表查询来撷取记录、将您的资料表复制备份,或将资料表输出至另一个资料库,或应用为报表的基准,以显示一个特定时段内的资料。
例如,您可以每个月执行同一个建立资料表查询,产生一个每月分区销售报表。--------------------------------------------------------------------------------备注
您可能要为一个新增资料表定义一个主索引。
当您建立一个新增资料表时,在新增资料表之中的栏位将继承查询的底层资料表中的每一个栏位的资料类型及大年夜小,然则不会移转其它的栏位或资料表属性。
若要增长资料到现存资料表,请应用
INSERT
INTO
陈述式以代替建立新增查询。
若要寻找出哪些记录在您执行产生资料表查询之前会被选取,起首检验一个
SELECT
陈述式的结不雅,且该陈述式应用雷同的选取范围准则。
分两种情况,一种是目标表已存在,一种是目标表不存在。
目标表已存在:
insert into 目标表 select from 原表;目标表不存在:
oracle语法:
create table 目标表 as select from 原表;sqlserver语法:
select into 目标表 from 原表;注意:针对第二种情况,一定不要忘记写as。
当目标表不存在时,一般会针对不同数据库有sqlserver的语法和oracle语法。
1、使用plsql连接上数据库,展开Tables菜单项,下面出现的就是数据库表。
2、在数据库表tblTest上面点击鼠标右键,选择Query data,此项的目的是查询这张数据库表的数据。
3、点击完成Query data之后,右侧会出现一个SQL语句的窗口,默认有一条select from 表名的sql语句,下方还有一个列表,展示这张表中的已有数据。
4、然后写一条insert插入的SQL语句,写完之后,选中这条SQL,点击左上角的次轮状图标,然后,SQL语句下方会出现1 row inserted in xx seconds,表示语句执行成功。此时数据还没有真正写入数据库 insert插入sql格式:insert into 表名(字段1, 字段2, 字段n) values(值1, 值2, 值n)。
5、在Oracle数据库中,对数据的变更还需要点击Commit按钮,也就是左上角向下箭头的图标,如果不点击这个按钮,数据其实不会真正存入数据库。点击Commit按钮后,会d出一个Confirm窗口,此时点击Yes就将数据写入数据库,点击No则不提交到数据库。
--------------新表 ↓ 要复制的源表↓
Select Into newTable From sourceTable
这个语句会将sourceTable结构包括数据全部复制一份放到新表中newTable 是新表的名字,在执行前newTable 表不能已存在,如果只复制结构不要数据
Select top 1 Into newTable From sourceTable --少要点只要一行truncate table newTable --清除掉数据
关于 select into 语句:
SQL SELECT INTO 语句可用于创建表的备份复件。
SELECT INTO 语句
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
SQL SELECT INTO 语法
您可以把所有的列插入新表:
SELECT
INTO new_table_name [IN externaldatabase]
FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
SQL SELECT INTO 实例 - 制作备份复件
下面的例子会制作 "Persons" 表的备份复件:
SELECT
INTO Persons_backup
FROM Persons
IN 子句可用于向另一个数据库中拷贝表:
SELECT
INTO Persons IN 'Backupmdb'
FROM Persons
如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:
SELECT LastName,FirstName
INTO Persons_backup
FROM Persons
SQL SELECT INTO 实例 - 带有 WHERE 子句
我们也可以添加 WHERE 子句。
下面的例子通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表:
SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City='Beijing'
SQL SELECT INTO 实例 - 被连接的表
从一个以上的表中选取数据也是可以做到的。
下面的例子会创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:
SELECT PersonsLastName,OrdersOrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON PersonsId_P=OrdersId_P
以上就是关于如何复制一个表到另一个数据库中全部的内容,包括:如何复制一个表到另一个数据库中、如何将sql数据库中一列中的值复制到另一列、ASP access数据库中表的数据复制到另一个表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)