编辑器加载中. 第一章:索引和视图
一
索引:
语法: create index
create unique(唯一性) {clustered(聚集)|nonclustered(非聚集)} 索引名 on 表名(列名)
聚集索引:每张表只能有一个。
作用:存入数据时与索引的顺序相同。
非聚集:可以有多个,最多能有249个。
查看索引:
语法:exec sp_helpindex 表名
删除索引:
语法:drop index 表名.索引名
二
视图:
创建语法:create view(关键字) 视图名(v_开头)
as (查询语句)select 字段名 from 表名
修改视图:把create改为alter
删除视图:drop view.from 视图名称
修改视图数据:update 视图名 set 修改内容 [条件]
删除视图数据:delete from 视图名 条件
第二章:存储过程
一
变量:
声明变量:declare @变量名 数据类型
e.g:declare @name nvarchar(50)
给变量赋值:set @变量名=值;或者select @变量名=值
流程控制:
条件语句:if...else,在if...else中大括号用begin,end代替开始和结束。
循环语句:while 条件表达式
begin
主体(循环内容)
end
waitfor语句:用于暂时停止sql语句
语法:waitfor delay '时间'
存储过程:
创建语法:creat proc(关键字) 名字(p_开头)
as
begin
主体
end
带参数的存储过程可以往表中新增数据
e.g:create proc p_名字
定义变量名
如:@name
as
begin
insert into 存储过程名(表中字段名'给哪个字段赋值')
values(声明的字段名)
end
执行:exec 存储过程名 字段名=值;
修改存储过程:create改为alter
查看存储过程:sp_helptext 存储名字
删除存储过程:drop proc 存储名
类型转换:cast()
第三章:触发器
触发器的两张零时表:inserted和deleted
触发器的事件类型 inserted表 deleted表
新增 insert 存储插入记录的副本 无数据
删除 delete 无数据 存储删除的原始记录的副本
修改 update 存储更新记录的副本 存储被更新原始记录的副本
定义触发器:
e.g:insert
create tigger(关键字) 触发器名字 on 表名
for 选择触发器的方式{insert|delete|update}
as
begin
定义表中的变量 declare
查询数据:select 声明变量=表中变量 from inserted
insert into 表名 values (传递的内容)
end
查看触发器:sp_helptext 触发器名字
修改触发器:create 修改为alter
删除触发器:drop tigger 触发器名字
第四章 : 游标
定义游标:
1.声明游标:declare 游标名字 cursor (关键字)
for 查询语句
2.打开游标:open 游标名字
3.使用游标: 定义表中所需变量
上一条 绝对
fetch [next|prior|first|last|absolute] from 游标名
保存: into 声明的变量
遍历数据:while (条件) @@fetch_status=0
begin
所需要执行的操作(修改,删除等)
fetch [next|prior|first|last|absolute] from 游标名
保存: into 声明的变量
end
4.关闭游标:close 游标名
5.释放游标:deallocate 游标名
第五章:事务
定义事务:
1.开启事务:begin tran
2.提交事务:commit tran
3.回滚事务:rollback tran
e.g:
begin try
begin tran
捕获异常: begin try
新增的数据
设保存点:save tran [名字]
end try
begin try
新增的数据
end try
begin catch
commit tran
end catch
begin catch
回滚数据
rollback tran[保存点名字]
end catch
end try
begin catch
rollback tran
end catch
..