必须会的SQL语句(三) 数据插入

459 查看

1.规范一些使用插入语句的小规范

  1)中文字符串前 最好 加一个N
  2)列名用中括号 扩起来   像这样  [列名]
 
2.常规写法

Insert into tableName
( [column1] , [column2] )
values
(N'中文','11ds')
 
3.多行一条语句插入多行

insert into 表名 ([列1],[列2])
     select  '值1','值2' union all     --这里呢,union 和 union all的 区别
                                                      --主要是对于重复值得处理,union 会过滤掉重复行,而union all会全插进去
     select  '值3','值4' union         
     select  '值5','值6'
 
4.复制到新表 将原有表中的数据复制到一个不存在的新表中

  select * into newtable from oldtable
  --仅复制表结构如何做呢?
select * into newtable from oldtable where 1<>1
select top 0 * into newtable from oldtable 
 
5.插入其他表的数据  向一个已有表中,复制其他表的数据

insert into tablename(column,column2)
      select column,column2 from oldtable
 
6.强行写入 强行写入标识字段。

--对于已经设置自动增长的列,默认情况我们无法对其输入值。
--可以用一下语句去强行写入。
 
--1)开启添加,(解除添加的限制)
Set indentity_insert tablename On
--2)可以手动插入id了
insert into 表明 (id,name) values ('1002','大二')
--3)关闭手动插入
Set indentity_insert tablename off