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集群服务定 ...
随机推荐
- scanf和scanf_s在VS2013中的使用
转载:https://www.cnblogs.com/liuchaojiayou/p/4418215.html 在VS2013中,每次使用scanf都会报错:This function or vari ...
- WPF控件相对位置解析
WPF控件相对位置的获取方法是比较简单的.对于初学者来说,掌握这一技巧的应用,可以帮助以后对WPF的深入学习,而且在实际使用中,这是一个非常常用的方法. 我们知道WPF有着比较灵活的布局方式,关于某个 ...
- react 反模式——不使用jsx动态显示异步组件
前言: react反模式 (anti-patterns)指的是违背react思想(flux)的coding方式. 本文在 App 组件中,通过 Model.show 动态显示 Model 组件,通过 ...
- SQL Server ->> XML方法
1. 得到XML类型中某个节点下子节点的数量 DECLARE @xml xml SET @xml = ' <Parameters> <Parameter name = "p ...
- mongodb数据库索引管理
1:ensureIndex() 方法 MongoDB使用 ensureIndex() 方法来创建索引. 语法 ensureIndex()方法基本语法格式如下所示: }) 语法中 Key 值为你要创建的 ...
- C#中的多线程 - 同步基础 z
原文:http://www.albahari.com/threading/part2.aspx 专题:C#中的多线程 1同步概要Permalink 在第 1 部分:基础知识中,我们描述了如何在线程上启 ...
- 【深入理解JAVA虚拟机】第二部分.内存自动管理机制.1.内存区域
1.内存区域 根据<Java虚拟机规范(Java SE 7版)> 的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示. 程序计数器 当前线程所执行的字节码的行号指 ...
- INFORMATICA 操作流程
- yii 使用小技巧
1.db组件 'schemaCachingDuration'=>3600, 为什么不起做用? 需要开缓存 2.如何在页面下边显示sql的查询时间,在log组件的routes中加入 array( ...
- grep参数说明及常用用法(转)
转:https://www.cnblogs.com/leo-li-3046/p/5690613.html grep常用参数说明 grep [OPTIONS] PATTERN [FILE...] gre ...