SQL记录
1 存储过程: 存储过程就是一组预编译的SQL语句集合。主要是用来处理逻辑的。
主要包括:不带参数的存储过程,带输入参数的存储过程,带输出参数的存储过程。
2 游标()
3 事务:
T_SQL用一下语句管理事务:
A 开始事务 Begin Transaction
B 提交事务 Commit Transaction
D 回滚(撤销)事务 roollback transaction
事务分为三种事务:
A 显示事务:用Begin Transaction明确指定事务的开始
B 隐式事务
D 自动提交事务: 这是sql server的默认模式。
4 索引分为四种:唯一索引,主键索引,聚集索引,非聚集索引 。
在SQL SERVER中,一个表只能有一个聚集索引,但可以有多个非聚集索引,设置某列为主键,该列就默认为聚集索引。
创建索引:
if exists(select name from sysindexes where name ='IX_IndexExam') //检测是否存在该索引,索引是存在系统表sysindexes表中
drop index stuMarks.IX_IndexExam //删除索引
create nonclusteared index IX_IndexExam
on stuMarks(writtenExam)
with fillfactor=30
go
注: Unique 指定唯一索引,clustered指定聚集索引,nonclusteared指定非聚集索引
创建好索引后,我们就可以使用索引了:
where writtenExam between 60 and 90
可以按照以下标准建立索引的列: 该列用于频繁搜索,该列用于对数据进行排序
不要对以下列创建索引:列中仅仅包含几个不同的值,表中仅包含几行。
为小型的表创建索引不划算,因为sql server在索引中搜索数据所花的时间比在表中逐行搜索花的时间更长
5 常用的约束类型有
A 主键约束 :要求主键列数据唯一,并且不允许为空
B 唯一约束:要求该列唯一,允许为空,但是只能出现一个空值
C 默认约束:某列的默认值,比如性别列中默认为“男”
D 检查约束:某列的取值范围,格式限制等
E 外键约束:用于在两个表之间建立关系,需要指定引用主表的那一列
6 T_SQL编程
A 声明变量 : Declare @A,,DataType ---其中A为局部变量,DataType为类型
B 逻辑控制语句 :
if (条件)
语句或者语句块
else
语句或者语句块
C while(条件)
D case
when 条件1 then 结果1
when 条件2 then 结果2
end
例子:
print '等级显示成绩如下:'
select stuNo.成绩=case
when exam<60 then 'E'
when exam between 60 and 80 then 'D'
else 'A'
end
from stu
E 批处理:批处理的标准就是GO。他就是一条或者多条Ssql 语句的集合。
7 视图:视图是保存在数据库中的select查询,就是数据库中的一张虚拟表。
主要用于一个表或者多个表的查询。通常用来进行一下三个操作:
1 筛选表中的行
2 防止未经许可的用户访问敏感数据
3 将多个物理数据表抽象为一个逻辑数据表
创建视图:
GO
if exists(select * from sysobjects where name='view_stuMarks')
drop view view_stuMarks
GO
create view view_stuMarks
as
select stuName,stuAddress from stuInfo left join stuMark on stuInfo.stuNo=stuMark .stuNo
GO
// 使用视图:视图就是一个虚拟表,可以像物理表一样打开