SQL Server 2012 - 数据更新操作
SELECT *
FROM dbo.Student; --1, 插入数据 Insert ,逗号分隔可以同时插入多条
INSERT dbo.Student
( StuID, Class, StuName, StuEnName, StuAge, StuBirthday, StuSex,
Height, Remark )
VALUES ( '007', -- StuID - varchar(10)
3, -- Class - int
N'呵呵', -- StuName - nvarchar(50)
'Hehe', -- StuEnName - varchar(50)
22, -- StuAge - int
GETDATE(), -- StuBirthday - datetime
N'男', -- StuSex - nvarchar(10)
190, -- Height - int
'test' -- Remark - text
),
( '008', -- StuID - varchar(10)
3, -- Class - int
N'你好', -- StuName - nvarchar(50)
'Nihao', -- StuEnName - varchar(50)
25, -- StuAge - int
GETDATE(), -- StuBirthday - datetime
N'女', -- StuSex - nvarchar(10)
190, -- Height - int
'test' -- Remark - text
); --2, 从一个表网另外一个表中写入数据
INSERT INTO dbo.Student
SELECT '009' ,
Class ,
'猫咪' ,
'Kitty' ,
StuAge ,
StuBirthday ,
StuSex ,
Height ,
Remark
FROM dbo.Student
WHERE StuID = '008'; -- 3, OUTPUT 抛出写入的StuID
DECLARE @stuId VARCHAR(10)
INSERT dbo.Student
( StuID, Class, StuName, StuEnName, StuAge, StuBirthday, StuSex,
Height, Remark )
OUTPUT Inserted.StuID
VALUES ( '010', -- StuID - varchar(10)
3, -- Class - int
N'叮当', -- StuName - nvarchar(50)
'DingDang', -- StuEnName - varchar(50)
22, -- StuAge - int
GETDATE(), -- StuBirthday - datetime
N'男', -- StuSex - nvarchar(10)
190, -- Height - int
'test' -- Remark - text
) --4 ,OUTPUT 抛出写入的另外一张物理表中(历史表)
DECLARE @stuIdTable TABLE(id INT)
INSERT dbo.Student
( StuID, Class, StuName, StuEnName, StuAge, StuBirthday, StuSex,
Height, Remark )
OUTPUT Inserted.StuID INTO @stuIdTable -- OUTPUT INTO只能写入表中
VALUES ( '012', -- StuID - varchar(10)
3, -- Class - int
N'Vanilla', -- StuName - nvarchar(50)
'香草', -- StuEnName - varchar(50)
22, -- StuAge - int
GETDATE(), -- StuBirthday - datetime
N'男', -- StuSex - nvarchar(10)
190, -- Height - int
'test' -- Remark - text
)
SELECT * FROM @stuIdTable -- 5,更新数据
UPDATE dbo.Student SET Height=Height+10 WHERE Height IS NOT NULL -- 6, 根据另外一张表进行数据更新:在两个表建立关系的情况下进行更新
-- Join的方式进行多表更新
UPDATE T
SET T.Remark = '班级01的学生'
FROM dbo.Student AS T JOIN dbo.ClassInfo AS C
ON t.Class=c.ID WHERE C.ID='1'
-- Where的方式进行多表更新
UPDATE T
SET T.Remark = '班级02的学生'
FROM dbo.Student AS T , dbo.ClassInfo AS C
where t.Class=c.ID and C.ID='2' -- 7, OUTPUT查看更新前、后的数据
UPDATE dbo.Student SET StuSex='女'
OUTPUT Inserted.StuSex,Deleted.StuSex
WHERE StuID='007' -- 8, Update中Set语句后的命令是同时执行的,没有先后顺序
UPDATE dbo.Student SET StuSex='男',StuName=StuName+'-'+StuSex
WHERE StuID='007'
SELECT * FROM dbo.Student WHERE StuID='007'
-- 两个字段进行值的互换
UPDATE dbo.Student SET StuAge=Height,Height=StuAge
WHERE StuID='007'
SELECT * FROM dbo.Student WHERE StuID='007' -- 9, Delete
SELECT * INTO Student_His FROM dbo.Student WHERE 1=2 DELETE dbo.Student
OUTPUT Deleted.StuID,Deleted.Class,Deleted.StuName,Deleted.StuEnName,Deleted.StuBirthday,Deleted.StuSex,Deleted.Height,Deleted.Remark
INTO dbo.Student_His( StuID,Class,StuName,StuEnName,StuBirthday,StuSex,Height,Remark)
WHERE StuID='007' --10, Truncate Table = delete tablename (不带任何条件):清空表,重置自增列,日志小,操作更快
TRUNCATE TABLE dbo.Student_His
SELECT * FROM [dbo].[Student_His]
SQL Server 2012 - 数据更新操作的更多相关文章
- SQL Server 2012安装图文教程
解析SQL Server 2012安装中心 当系统打开"SQL Server安装中心",则说明我们可以开始正常的安装SQL Server 2012了. SQL Server安装中心 ...
- SQL Server 2012 安装图解教程
在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB 安装SQL Se ...
- Microsoft SQL Server 2012 数据库安装图解教程
本文部分引用以下文章: SQL Server 2012 安装图解教程(附sql2012下载地址)_MsSql_脚本之家 http://www.jb51.net/article/36049.htm SQ ...
- 一个小时成功安装SQL Server 2012图解教程
在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. 安装SQL S ...
- SQL Server 2012 案例教程(贾祥素)——学习笔记
第2章 SQL Server 2012概述 1.SQL(Structed Query Language),结构化查询语言. 2.SSMS(SQL Server Mangement Studio),SQ ...
- SQL Server 2012 安装图解教程(附sql2012下载地址)
在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. sql2012 ...
- SQL Server 2012附加数据库时,错误提示如下:尝试打开或创建物理时,CREATE FILE 遇到操作系统错误 5(拒绝访问。)
错误提示:Create File遇到操作系统错误5(拒绝访问) 解决方案: 在所有程序-SQL Server 2012-"SQL Server 配置管理器",点击"SQL ...
- SQL Server 2012新特性(1)T-SQL操作FileTable目录实例
在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...
- SQL Server 2012故障转移的looksalive check和is alive check
什么是looksalive check和is alive check SQL Server故障转移集群是建立在windows集群服务上的一种热备的高可用方案.在集群运行过程中,windows集群服务定 ...
随机推荐
- Http超文本传输协议
HTTP 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传 ...
- 通过游戏学敏捷:只通过Specification来传递需求
转自:https://mp.weixin.qq.com/s/jAYbAMUTNYGh4RxGPAZ1AQ 活动把每个小组(4-5个人)中的2人留在屋子里,其他人到屋子外面等待.在屋子里的人,会得到一张 ...
- 浏览器环境下的javascript DOM对象继承模型
这张图是我直接在现代浏览器中通过prototype原型溯源绘制的一张浏览器宿主环境下的javascript DOM对象模型,对于有效学习和使用javascript DOM编程起到高屋建瓴的指导作用, ...
- jquery事件绑定函数
1.bind 使用语法: jQueryObject.bind( events [, data ], handler ) jQueryObject.bind( events [, data ] [, i ...
- SQL Server ->> SQL Server 2016新特性之 --- Query Store
前言 SQL Server 2016引入新的查询语句性能监控.调试和优化工具/功能 -- Query Store.以前我们发现一条查询语句性能突然下降,我们要去找出问题的所在往往需要通过调用一些DMV ...
- redis持久化方法
1.redis持久化,来自官方说明 如何选择使用哪种持久化方式? 一般来说, 如果想达到足以媲美 PostgreSQL 的数据安全性, 你应该同时使用两种持久化功能. 如果你非常关心你的数据, 但仍然 ...
- Hadoop学习---Hadoop的深入学习
Hadoop生态圈 存储数据HDFS(Hadoop Distributed File System),运行在通用硬件上的分布式文件系统.具有高度容错性.高吞吐量的的特点. 处理数据MapReduce, ...
- photoshopcs6破解补丁用来干嘛的
photoshopcs6破解补丁为 Adobe CS6 系列软件通用破解补丁,亲测可用,终于能用了不再出现那个烦人的购买页面了,cs6破解补丁解压后得到32和64两个文件夹,根据自己的系统类型选择,6 ...
- 一个asp.net小项目总结
写这篇文章之前先吐槽一下,最近换了一个公司,是给一个国企做外包,有两个月了,感觉这里的气氛有点不爽,还有点怀念以前的公司.具体听我说来,这里有几个团队,.net,java,手机开发,.net只有6个人 ...
- 中间人攻击之劫持登录会话(cookies)
关于中间人攻击 中间人攻击(Man-in-the-MiddleAttack,简称"MITM攻击")是一种"间接"的入侵攻击,这种攻击模式是通过各种技术手段将受入 ...