本文整理自网络,侵删。
SQL SERVER中使用SELECT … INTO语句
按照使用场合可以分为以下几类:
1. 实现全表备份:如:SELECT * INOT t1 FROM titles
2. 备份表的一部分列(不写*而写出列的列表)或一部分行(加WHERE条件)
如:
SELECT title_id,title,price INTO t2 FROM titles—部分列 SELECT * INTO t2 FROM titles WHREE price>10 –部分行 SELECT title_id,title,price INTO t2 FROM titles WHREE price>10 –部分行和部分列
3. 只复制表的结构:
SELECT * INTO tablename_new FROM tablename_old
如:SELECT * INOT t1 FROM titles WHERE 1=2
4. 查询结果来源于多个表:如:
SELECT title_id,title,pub_name INTO t3 FROM titles t INNER JOIN publishers p ON t.pub_id=p.pub_id
5.select * into 要复制到的数据库名.DBO.表名 from 原数据库名.DBO.表名
从news表复制指定字段到news1
set IDENTITY_INSERT [dbo].[news1] ON INSERT INTO [dbo].[news1] ([id],[title],[stitle],[type_id],[scontent],[keyword],[tag],[author]) SELECT [id],[title],[stitle],[type_id],[scontent],[keyword],[tag],[author] FROM [dbo].[news] set IDENTITY_INSERT [dbo].[news1] OFF
2.从news表复制id,content字段到content_1(id指定区间)
create table content_1([id] [int] primary key NOT NULL, [content] [text] NULL) INSERT INTO [dbo].[content_1] ([id],[content] ) SELECT [id],[content] FROM [dbo].[news] where [id] between 1 and 100000 create table content_2([id] [int] primary key NOT NULL, [content] [text] NULL) INSERT INTO [dbo].[content_2] ([id],[content] ) SELECT [id],[content] FROM [dbo].[news] where [id] between 100001 and 200000 create table content_3([id] [int] primary key NOT NULL, [content] [text] NULL) INSERT INTO [dbo].[content_3] ([id],[content] ) SELECT [id],[content] FROM [dbo].[news] where [id] > 200000
数据库 复制表
数据库把一张表完整无缺的复制到另外一张表中
相关阅读 >>
sqlserver使用t-sql进阶之公用表表达式(cte)
更多相关阅读请进入《sql》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。