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集群服务定 ...
随机推荐
- CentOS: 将虚拟机迁移到 Azure (以阿里云为例)
Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.因此本文以阿里云为例,阐述的是如何将 CentOS 6.8 ...
- Ngnix学习
- 图的存储结构(邻接矩阵与邻接表)及其C++实现
一.图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为: G=(V,E) 其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合. 注: 在线性表中,元素个数可以为零, ...
- python 爬虫网络图片中遇到的问题总结
1.只导入了import urllib,读取网页的时候page =urllib.urlopen(url),提示 “module’ object has no attribute ’urlopen’”, ...
- 如何在Windows 7/8/10中使用热键来调整音量?
有时,您需要一个热键来调整Windows PC中的音量.例如:播放全屏视频或游戏时需要调整音量. 有一个简单的方法可以做到: 安装并运行Perfect Hotkey软件. 配置键盘快捷键以进行音量 ...
- MS15-051 修正版Exploit(Webshell可用)
MS15-051简介:Windows 内核模式驱动程序中的漏洞可能允许特权提升 (3057191) , 如果攻击者在本地登录并可以在内核模式下运行任意代码,最严重的漏洞可能允许特权提升. 攻击者可随后 ...
- php获取视频长度,php.ini配置
php获取视频长度 $long = exec("ffmpeg -i video.mp4 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | s ...
- tp 查询数据库时报错 A non well formed numeric value encountered
在database.php中配置或修改 'datetime_format' => false,
- Visual Studio中头文件stdafx.h的作用
在较新版的Visual Studio中,新生成的C++项目文件的的头文件夹下会默认有头文件stdafx.h,而源文件夹下则默认有源文件stdafx.cpp,手动将这些文件删除后,编译时系统还会报错.下 ...
- Path模块部分常用函数解析——NodeJS
官网地址:https://nodejs.org/api/path.html path.resolve([...paths])# Added in: v0.3.4 参数[...paths]: <S ...