SQL高级应用

发布 2021-04-26 15:10:28 阅读 6091

数据库应用(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...