随笔分类 -  SqlServer

摘要:一、事务的概念及要求 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作。 多个操作作为一个整体向系统提交,要么都执行,要么都不执行。 事务是一个不可分割的工作逻辑单元。 二、例子 银行转账过程就是一个事务 它需要俩条UPDATE语句来完成,这俩条语句是一个整体。 如果其中任一条出 阅读全文
posted @ 2019-12-30 22:59 徐林俊 阅读(429) 评论(0) 推荐(0)
摘要:一、定义存储过程的语法 语法: CREATE PROC[EDURE] 存储过程名 @参数1 数据类型 = 默认值 OUTPUT, ...... @参数n 数据类型 = 默认值 OUTPUT AS SQL语句 GO 存储过程的参数: 和C#语言的方法一样,参数可选 参数分为输入参数、输出参数 输入参数 阅读全文
posted @ 2019-12-26 08:28 徐林俊 阅读(2469) 评论(0) 推荐(0)
摘要:一、什么是存储过程 预先存储好的SQL程序。 保存在SQL Server中(跟视图的存储方式一样) 通过名称和参数执行。 二、存储过程的优点 执行速度更快 允许模块化程序设计 提高系统安全性 减少网络流通量 三、存储过程的分类 1、系统存储过程 系统存储过程的名称一般以 "sp_"开头 由SQLSe 阅读全文
posted @ 2019-12-25 23:11 徐林俊 阅读(256) 评论(0) 推荐(0)
摘要:一、视图的概念 是存储在服务器端的一个查询块,是一张虚拟表。 表示一张表的部分数据或多张表的综合数据。 其结构和数据是建立在对表的查询基础上。 视图的使用,跟对普通的表的查询使用完全一样。 二、视图中不存放数据 数据存放在视图所引用的原始表中。 三、表视图的多样性 一个或多个原始表,根据不同用户的不 阅读全文
posted @ 2019-12-13 07:17 徐林俊 阅读(793) 评论(0) 推荐(0)
摘要:一、删除数据库 use master go if exists (select * from sysdatabases where name = 'Demo') drop database Demo go 二、删除表 use PhoneList go if exists (select * from 阅读全文
posted @ 2019-12-12 22:39 徐林俊 阅读(2980) 评论(0) 推荐(0)
摘要:一、IF - ELSE 语法: IF(条件) BEGIN 语句1 语句2 ... END ELSE BEGIN 语句1 语句2 ... END 说明: ELSE是可选部分,如果有多条语句,才需要BEGIN-END语句块。 实际运用: 有如下俩张表,学生表和学生成绩表 现在有这么个需求:查询软件1班的 阅读全文
posted @ 2019-12-11 22:42 徐林俊 阅读(754) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-12-11 22:12 徐林俊 阅读(948) 评论(0) 推荐(0)
摘要:一、使用convert函数实现强制转换 例如我们现在有如下一张学员成绩表: 现在想查询学号等于100003的学员总成绩,并按照要求打印出来,我们可以这样实现: 结果报错,因为最后一句字符串不能和数值相加,我们可以使用如下办法解决: 二、使用 cast 函数转换 三、俩种转换方式区别 阅读全文
posted @ 2019-12-11 21:47 徐林俊 阅读(4186) 评论(0) 推荐(0)
摘要:一、局部变量的定义与赋值 定义语法: -- 声明一个局部变量 DECLARE @变量名 数据类型 -- 声明多个局部变量 DECLARE @变量名1 数据类型1, @变量名2 数据类型2 赋值语法: SET @变量名 = 值 或 SELECT @变量名 = 值 使用 Select 赋值确保筛选出的记 阅读全文
posted @ 2019-12-11 07:46 徐林俊 阅读(5198) 评论(0) 推荐(0)
摘要:说明 以下操作都是基于SQLServer登陆验证方式登陆。而且操作员都是 sa。 一、添加登陆账号 use master go exec sp_addlogin 'xu', '123456' 第一个(xu)是登陆名,第二个(123456)是登陆密码。 执行语句,就可以在安全性\登陆名里看到新创建的账 阅读全文
posted @ 2019-12-07 08:02 徐林俊 阅读(2852) 评论(0) 推荐(1)
摘要:CHECK 约束用于限制列中的值的范围。 原表: 现在要对性别这一列进行约束,只准值为男或者女。 步骤: 1、 2、 3、 4、 5、 ctrl + s 保存一下, 现在不可以随意的修改性别了。 完成。 阅读全文
posted @ 2019-11-29 19:49 徐林俊 阅读(514) 评论(0) 推荐(0)
摘要:1、设置自动增长列 设置完毕添加数据这个字段就不用再手动添加了,会从10001开始,每条数据自动加1。 阅读全文
posted @ 2019-11-29 16:41 徐林俊 阅读(957) 评论(0) 推荐(0)
摘要:BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。 原表: 执行查询: 上面就可以搜索出得分为80~90的学生了,包含80,也包含90。 阅读全文
posted @ 2019-11-29 16:25 徐林俊 阅读(797) 评论(0) 推荐(0)
摘要:IN 操作符允许我们在 WHERE 子句中规定多个值。 原表: 执行查询: 阅读全文
posted @ 2019-11-29 16:15 徐林俊 阅读(173) 评论(0) 推荐(0)
摘要:用于在 WHERE 子句中搜索列中的指定模式。 原表: 一、% %表示任何字符出现任意次数。 1、以某个字符串开头的数据 2、包含某个字符串的数据 3、以某个字符串结尾的数据 二、_ 只适用于匹配单个字符,用途与百分号(%)一样。 因为马鞍山是三个字符,所以没有匹配到。 三、[] 可以配合%、_一起 阅读全文
posted @ 2019-11-29 16:13 徐林俊 阅读(191) 评论(0) 推荐(0)
摘要:用于规定要返回的记录的数目 原表: 我们如果只想看前三个学生信息的话: 阅读全文
posted @ 2019-11-29 14:17 徐林俊 阅读(128) 评论(0) 推荐(0)
摘要:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。 原表: 我们可以对上面数据根据性别这个字段进行分组查询,分别统计男生和女生分别有多少人。 如果我们有进一步要求,男生女生统计完总人数之后,少于2人的话,我们就忽 阅读全文
posted @ 2019-11-29 14:10 徐林俊 阅读(216) 评论(0) 推荐(0)
摘要:用于对结果集进行排序。 原表: 根据成绩这列数据进行升序排序: 根据成绩这列数据进行降序排序: 阅读全文
posted @ 2019-11-29 13:59 徐林俊 阅读(139) 评论(0) 推荐(0)
摘要:说明: 从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。 原表: 执行分组查询: select Gender,count(*) as 人数 from Students group by Gender 阅读全文
posted @ 2019-11-29 13:49 徐林俊 阅读(142) 评论(0) 推荐(0)
摘要:一、内连接 —— INNER JOIN 内连接是最常见的一种连接,只连接匹配的行。 表1: 表2: 执行查询: select StudentId as 学生编号,StudentName as 姓名,Gender as 性别,Likes as 爱好,ClassName as 所在班级 from Stu 阅读全文
posted @ 2019-11-29 10:59 徐林俊 阅读(355) 评论(0) 推荐(0)