(八大方法、逐层深入,有你一定没见过的)使用INSERT语句向表中插入数据
来源:互联网 发布:淘宝闪电退货太恶心了 编辑:程序博客网 时间:2024/05/17 16:43
(八大方法、逐层深入,有你一定没见过的)
使用INSERT语句向表中插入数据(MSSQLSERVER版)
做开发的同仁对于向数据库中插入数据可谓是太普通不过了,也没什么说的,一般都是采用常用的INSERT INTO [(字段列表)] VALUES(字段值列表),这样的方式进行操作。今天,我要给大家介绍的是其他一些非常规的方式,一定会让你耳目一新,眼前一亮。
进入今天的主题,以了便于操作,我们首先建立一个实例数据表:
USE tempdb ;
GO
CREATE TABLE Fruit
(
Id INT NOT NULL ,
Name VARCHAR(100) NOT NULL ,
Color VARCHAR(100) NULL ,
Quantity INT DEFAULT 1
) ;
方式一:传统方式
语法:INSERT (column_list) VALUES (value_list);
我们插入一条数据到数据表中。
INSERT INTO Fruit
( Id, Name, Color, Quantity )
VALUES ( 1, 'Banana', 'Yellow', 1 ) ;
这种方式是我们常用的一种插入数据的方式,给出所有的列名集合与值集合。
方式二:省略列集合
INSERT INTO Fruit
VALUES ( 2, 'Grapes', 'Red', 15 ) ;
这种方式我们省略了列名集合,这种方式值集合必须与数据表定义时列的顺序相一至,必须赋的值不能省略。
方式三:插入部分字段
INSERT INTO Fruit
( Id, Name )
VALUES ( 3, 'Apples') ;
这种方式,我们不必给出所有字段列表,只插入我们需要的字段即可。
以上三种方式是我们在实际使用中最为常见的插入数据的方式,下面给出的也许会让你眼前一亮。
方式四:一条插入语句插入多条数据
INSERT INTO Fruit
( Id, Name, Color, Quantity )
VALUES ( 4, 'Apples', 'Red', 10 ),
( 5, 'Peaches', 'Green', 7 ),
( 6, 'Pineapples', 'Yellow', 5 ) ;
在这儿,我用一条插入语句同时插入了三条不同的数据到Fruit数据表中。
方式五:使用SELECT语句同时插入多条数据。
INSERT INTO Fruit
( Id ,
Name ,
Color,
Quantity
)
SELECT 7 +( 6 - Id ) ,
Name,
'White',
Quantity
FROM Fruit
WHERE Id > 3
ORDER BY Id DESC ;
在方式五中,我通过选择Fruit表中 Id 大于 3 记录插入到Fruit表中。这是从水果表中现有的值派生出来的。
方式六:使用存储过程插入数据。
首先、我们建立一个存储过程如下:
CREATE PROC HybridFruit
AS
SELECT b.Id + 9 ,
a.Name + b.name
FROM Fruit a
INNERJOIN Fruit b ON a.Id = 9 - b.Id ;
GO
现在我们使用上面建立的存储过程进行数据的插入,方法如下:
INSERT INTO Fruit
( Id, Name )
EXECUTE HybridFruit;
方式七:使用OUTPUT子句输出插入的数据以供外部使用。
INSERT INTO Fruit
( Id, Name )
OUTPUT INSERTED.*
VALUES ( 18, 'PieCherries' ) ;
在这儿,我们通过使用OUTPU子句输出了同步插入的数据。
方式八:通过OUTPUT子句把结果返回给客户端。
为了方便演示,我先把Fruit表的Id列设为自动增长列。
ALTER TABLE Fruit
DROP COLUMN Id ;
ALTER TABLE Fruit
ADD Id INTIDENTITY ;
现在我们来通过OUTPUT子句插入值并把结果返回给客户端。
DECLARE @INSERTED AS TABLE ( Id INT, Name VARCHAR(100) ) ;
--使用OUTPUT插入
INSERT INTO Fruit
( Name,Color )
OUTPUT INSERTED.Id, INSERTED.Name
INTO @INSERTED
VALUES ( 'Bing Cherries', 'Purple' ),
( 'Oranges', 'Orange' ) ;
-- 显示插入的值
SELECT *
FROM @INSERTED ;
以上就是八种方式,也许对你有用,仅作参考使用,谢谢~!
- (八大方法、逐层深入,有你一定没见过的)使用INSERT语句向表中插入数据
- [转载文章] (八大方法、逐层深入,有你一定没见过的)使用INSERT语... [复制链接]
- SQL语言使用insert语句向数据库表格中插入或添加新的数据行
- 从来没见过这么多的资源~~好好找找吧,一定有你需要的
- 英特尔的这些黑科技你一定没见过
- 你一定没见过这么有意思的电路板
- 使用insert向多表插入数据
- 用SQL语句向表格中插入数据INSERT
- 运用INSERT INTO语句向数据库中插入数据失败。
- 向Access中插入数据报“INSERT INTO 语句的语法错误”的解决办法
- 向Access中插入数据报“INSERT INTO 语句的语法错误”
- 向Access中插入数据报“INSERT INTO 语句的语法错误”
- 向Access中插入数据报“INSERT INTO 语句的语法错误”
- 安卓手机密码破解大全,保准有你没见过的方法
- 你没见过的通俗spring mvc~~~有好戏
- 向视图中插入数据的方法
- 使用Insert Select语句批量插入数据
- Mysql命令insert into:向表中插入数据(记录)
- pc上修改jffs2
- 什么是ThreadLocal?
- Cygwin中VIM的设置 【转载】
- 设计模式C++实现(16)——状态模式
- 分享一下自己整理的pb常用函数
- (八大方法、逐层深入,有你一定没见过的)使用INSERT语句向表中插入数据
- Oracle RAC 重建 OCR 和 Voting disk
- 自己根据一些资料整理的pb常用事件
- android 4.0 lancher启动分析
- Windows 8新功能:可在Windows 8平台玩Xbox Games
- 云计算编程模式漫谈(转)
- 删除代码前的行数与空格
- java中各种排序
- c++ 隐式转换带来的问题