数据库应用(sql高级)
第一章:索引和视图。一。索引:
语法: create index
create unique(唯一性) 索引名 on 表名(列名)
聚集索引:每张表只能有一个。
作用:存入数据时与索引的顺序相同。
非聚集:可以有多个,最多能有249个。
查看索引:语法:exec sp_helpindex 表名。
删除索引:语法:drop index 表名。索引名。二 视图:
创建语法:create view(关键字) 视图名(v_开头)
as (查询语句)select 字段名 from 表名。
修改视图:把create改为alter
删除视图:drop 视图名称。
修改视图数据:update 视图名 set 修改内容 [条件]
删除视图数据:delete from 视图名条件。
第二章:存储过程。一 变量:
声明变量:declare @变量名数据类型。
@name nvarchar(50)
给变量赋值:set @变量名=值;或者select @变量名=值。
流程控制:条件语句:if...else,在if...else中大括号用begin,end代替开始和结束。
循环语句:while 条件表达式
begin主体(循环内容。
endwaitfor语句:用于暂时停止sql语句。
语法:waitfor delay '时间'
存储过程:创建语法:creat proc(关键字) 名字(p_开头)
asbegin
主体。end
带参数的存储过程可以往表中新增数据。
proc p_名字。
定义变量名。
如:@name
asbegin
insert into 存储过程名(表中字段名'给哪个字段赋值')
values(声明的字段名)
end执行:exec 存储过程名字段名=值;
修改存储过程:create改为alter
查看存储过程:sp_helptext 存储名字。
删除存储过程:drop proc 存储名。
类型转换:cast()
第三章:触发器。
触发器的两张零时表:inserted和deleted
触发器的事件类型 inserted表deleted表。
新增 insert 存储插入记录的副本无数据。
删除 delete无数据存储删除的原始记录的副本。
修改 update 存储更新记录的副本存储被更新原始记录的副本
定义触发器:
create tigger(关键字) 触发器名字 on 表名。
for 选择触发器的方式。
asbegin
定义表中的变量 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 声明的变量。
end4.关闭游标:close 游标名。
5.释放游标:deallocate 游标名第五章:事务定义事务:
1.开启事务:begin tran
2.提交事务:commit tran
3.回滚事务:rollback tran
begin try
begin tran
捕获异常: begin try
新增的数据设保存点:s**e 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
SQL查询语句的高级应用
一 简单查询 简单的transact sql查询只包括选择列表 from子句和where子句。它们分别说明所查询列 查询的 表或视图 以及搜索条件等。例如,下面的语句查询testtable表中姓名为 张三 的nickname字段和email字段。select nickname,email from ...
SQL高级
like 操作符用于在 where 子句中搜索列中的指定模式。原始的表 用在例子中的 persons 表 like 操作符实例。现在,我们希望从上面的 persons 表中选取居住在以 n 开始的城市里的人 我们可以使用下面的 select 语句 提示 可用于定义通配符 模式中缺少的字母 结果集 接...
高级SQL
查找数据库中所有字段以对应的表 select from dba tab columns c where owner 查每个科目class 分数scro前三名 select id,name,class,scro from select row number over partition by clas...