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集群服务定 ...
随机推荐
- You must not call setTag() on a view Glide is targeting when use Glide
以下代码是一个显示图片的RecyclerView 的Adapter用到的,当点击图片,跳到另一个Activity显示大图.RecyclerView 与ListView不同 然而没有setOnClick ...
- 记录code修改
package com.hesheng.myapplication; import android.content.Context;import android.graphics.Bitmap;imp ...
- Tomcat的运行模式
tomcat的三种运行模式 tomcat Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: ●BIO: 一个线程处理一个请求.缺 ...
- python三次输入错误验证登录
# login.py# 提示用户输入用户名和密码# 验证用户名和密码# 如果v错误,则输出用户名或密码错误# 如果成功,则输出欢迎,xxxnum = 0while True: name = input ...
- 完美兼容js的jsfuck小测试
无意间发现了一个可以完美兼容js语言的jsfuck语言,所以留一个备份 js转换jsfuck的工具 www.jsfuck.com 效果 代码(预警!!!有点长,不过是不是很有意思) <!DOCT ...
- Linux 虚拟机虚拟网卡问题导致无法连接问题
问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到虚拟网卡启动或者初始化故障, 导致虚拟机无法连接. 问题分析 常见的超时报错范例如下: CentOS 复制 Bringing ...
- SQL点点滴滴_查询类型和索引-转载
当您考虑是否要对列创建索引时, 请估计在查询中使用列的方式, 下表介绍了索引对其有用的查询类型. 表中的示例基于 AdventureWorks2008R2 示例数据库, 在 SQL Server Ma ...
- mongo 聚合函数
一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count count是最简单,最容易,也是最常用的聚合工 ...
- DOS 保存系统日志
1.导出系统日志,以当前日期命名 @echo offset nowDate=%date%set tmp=%nowDate:~0,-3%set file=%tmp:/=-%系统日志.evtx echo ...
- Master的注册机制和状态改变管理解密
本课主题 Master 接收 Worker, Driver, Application 注册 Master 处理 Driver 狀态变换 Master 处理 Executor 狀态变换 Master 接 ...