sql select into关键字简介


一、select into 关键字简介

select * into 关键字功能:快速将表中的数据复制到一个新对象中(新对象具有和原对象相同的结构),
复制至新对象时,如果对象存在,则返回错误
select * into:常应用于数据快速备份


二、select into关键字举例应用

2.1 select *into语法简介

      select [列名1],[列名2],[列名3],... into [新表] from [旧表]
       [where 条件] 
     


注意事项:
[新表] 必须不存在于数据库中,否则创建会产生错误信息
[列名1],[列名2],[列名3],… 这些列都必须存在于 [旧表]中
[新表] 会按照select后的顺序创建表结构,不会将 [旧表] 中的索引 主键 约束 默认值 等放入新建表中


2.2 使用 select *into快速创建表结构

  create table A(keyId int primary key,info varchar(60), writeDate datetime default getdate())
  /*快速创建表C*/
  select keyId,info,writeDate into C from A where 1=0 

  /*查看表C结构*/
  CREATE TABLE [dbo].[C](
	[keyId] [int] NOT NULL,
	[info] [varchar](60) NULL,
	[writeDate] [datetime] NULL
 )
 
  truncate table A
  drop table A 
  truncate table C
  drop table C 
  
  

2.3 使用 select *into快速创建表结构和数据

   /*1 建表插入数据*/
create table A(keyId int primary key,info varchar(60), writeDate datetime)
insert into A values
(1,'a','2017-1-1'),(2,'b','2017-1-2'),(3,'c','2017-1-3')
 go

select  keyId,INFO,writedate into B from A 

select * from B 
 

truncate table B
drop table B 

truncate table A
drop table A 


2.4 使用select *into 快速备份多个表的数据,快速备份结果集

  /*1 建表插入数据*/
create table A(keyId int primary key,info varchar(60), writeDate datetime)
insert into A values
(1,'a','2017-1-1'),(2,'b','2017-1-2'),(3,'c','2017-1-3')
 go
create table B(keyId int primary key,info2 varchar(60), writeDate2 datetime)
insert into B values
(11,'a','2017-1-1'),(2,'b424','2017-7-2'),(332,'c','2017-1-3')
 go

select  a.keyId,INFO,b.info2,writedate into C from A left join B on a.keyId =b.keyId

select * from C  

truncate table C
drop table C 

truncate table B
drop table B 

truncate table A
drop table A 

相关阅读:
sql union union all
sql full join关键字简介
sql right join关键字简介
sql left join关键字简介
sql inner join关键字简介
sql join(连接)关键字简介
sql as 关键字简介
sql between 关键字简介
sql in 关键字简介
sql like 关键字简介及应用
sql top 关键字简介
sql delete 关键字简介
sql update 关键字简介
sql insert into 关键字简介及用法
sql order by 关键字用法
sql and or 关键字简介
sql where 关键字简介
sql select distinct top 关键字简介
sql select
sql简介
sql 删除重复数据
如果查询MSSQL中重复列(group by having count)