T-SQL
T-SQL概述
1.T-SQL即Transact-SQL,是SQL在Microsoft SQL 1.Server上的增强版,其为使应用程序与SQL Server相沟通的主要语言。
2.T-SQL提供了标准SQL的DDL和DML功能,其延伸的函数、系统预定义程序以及程序设计结构(如IF和WHILE)让程序设计更有弹性。
T-SQL变量
1.局部变量
declare @变量名 //定义变量
set @变量名 = 固定内容
set @变量名 = select 查询所得内容
2.全局变量
@@ 变量名
T-SQL流程控制语句
1.if …else
2.begin…end(相当于括号,至少包含一条sql语句)
3.while循环
4.case语句
case input_ex
when when_ex then result_ex
...
else else_result_ex
end
用户自定义函数
1.分类:
Scalar functions(标量型函数):返回确定类型的标量值
语法:
create function 函数名(形参) returns 返回值类型
as
begin
代码片
return
end
go
Inline table-valued functions(内联表值型函数):返回表类型的结果
语法:
create function Table_Name() returns table
as
begin
return(rusult);
end
go
游标
触发器
create trigger tri_name
on table_name
for status_name
as
代码块
go
存储过程、事务、视图、索引
索引
1.索引的作用
- 增强数据记录的唯一性。
- 可以大大加快数据检索的速度。
- 加速表与表之间的连接,这在实现数据参照完整性方面有特殊的意义。
- 使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少在查询中排序和分组所占用的时间。
2.索引使用的代价
- 维护索引,在对数据进行插入、更新和删除操作时会耗费系统时间。
- 在建立索引时,由于需要复制数据,也会耗费系统的时间和空间。
3.可在以下场合创建索引
- 主键、外键。
- 需要在指定范围快速或频繁查询的列。
- 需要排序的列。
- 在聚合函数中使用的列。
创建索引
1.使用SSMS创建索引
2.使用T-SQL创建索引
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
视图
视图(View)是一种数据库对象,是一个从一张表、多张表或视图中导出的虚表。视图的结构和数据是对数据表进行查询的结果。
1.使用SQLServer平台创建视图
2.使用T-SQL平台创建视图
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]AS SELECT_statement
事务
1.事务的特性(面试问题)
2.显式事务
- BEGIN TRANSACTION:标识一个事务的开始,即启动事务。
- COMMIT TRANSACTION:提交事务。标识一个事务的结束,事务内所修改的数据被永久保存到数据库中。
- ROLLBACK TRANSACTION:回滚事务,即事务内所修改的数据被回滚到事务执行前的状态。
存储过程
自定义存储过程
CREATE PROC[EDURE] proc_name
[{@parameter_name data_type}=[默认值]] [OUTPUT],…,n]
AS
procedure_body
调用exec proc_name ‘输入值1’,’输入值2’