19、SQL Server 数据修改之Insert into

数据修改之Insert into 

以集合而不是行的方式思考。

一、数据插入

各种形式的insert 命令

insert / values

插入一行数据,通常用于插入用户界面中的数据

insert / select

插入一个结果集,通常用于操作数据集

insert / exec

插入存储过程的执行结果,用于复杂的数据操作

insert / default

创建一个由默认值组成的新行,用于填充预留行。

select / into

使用Select 语句的结果集创建一个新表

1、插入一行数据

基本语法:

insert [into] 表名 [ (列名1,列名2,列名3...) ]  values(值列表...)

注:a、并非一定要列出表中的每个列,但列出某个列后,必须在insert命令中为它

提供值

b、表名后省略列名,要为除标识列的其他列提供值,且顺序一致

c、可显式插入默认值。default

2、插入Select语句的结果集

基本语法:

insert [into] 表名 [ (列名1,列名2,列名3...) ]  select  columns

from data source  [where conditions]

注:a、select可从任何数据源中获取数据,并改造

    b、同理,值和列的顺序必须相同

3、插入存储过程返回的结果集

获取存储过程返回的数据,并将其插入到表中。

基本语法:

insert [into] 表名 [ (列名1,列名2,列名3...) ]  exec  存储过程

参数列表

注:a、存储过程可能返回多个结果集,insert命令将试图插入每个结果集中的数

据,因此,必须保证每个结果集的列顺序与插入列的顺序一致。

b、insert / exec 和 select / into 都不能用于将数据插入到表变量中

4、创建由默认值组成的行

insert [into] 表名 [ (列名1,列名2,列名3...) ] default values

注:这是的default values是关键字。

5、插入数据时创建表

在Select语句中使用into选项将创建一个新表来包含Select语句的结果集。

基本语法:

Select clomuns into   newtable  from  datasource [ where conditons]

注:a、若Select语句没有从表中检索到行,Select / into将创建一个只包含数据架构

的新表

b、若Select语句对列进行了重新排列或使用了Cast()函数等,新表将使用修

改后的数据架构来存储数据。

c、与联合查询结合使用时,Select / into能够垂直地合并多个表中的数据。

(into 必须放在第一个Select语句中)

d、Select / into,非常适用于对表进行逆规范化。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值