【SQL】T-SQL语法记录

流程控制语句


--declare 创建变量


--begin..end一个语句块,至少存在一条sql,类似  {  }
begin
end


--if语句块
if 条件表达式
--语句块
else 条件表达式
--语句块



--while 条件表达式
begin
--循环体
--break跳出循环
--continue 结束本次循环
end



--case 输入表达式
		when 配置值1 then执行语句
		...
		else 默认值
		end
		--使用
		select 字段,case 字段 
		when '' then ''
		else ''
		end 
		form 表名

视图

--创建视图
create view 视图名称(以V开头)
[视图使用的列](可以不写)
as
语句

--视图名称 where=‘’

索引

1. 索引的作用
a) 通过创建唯一索引,可以保证数据库表中的每一行数据的唯一性。
b) 可以大大加快数据库的检索速度。
c) 可以加速表和表之间的联接,这在实现数据的参照完整性方面有特别的意义。
d) 使用分组和排序子句进行数据检索时,可以显著减少查询时分组和排序的时间。
e) 通过使用索引,可以在查询过程中使用优化隐藏器,提高系统的性能。

2. 索引的使用场合
a) 经常需要搜索的列
b) 作为主键的列
c) 经常用在联接的列
d) 经常需要根据范围进行检索的列
e) 经常需要排序的列
f) 使用WHERE子句的列,可以加快条件的判断速度

3. 索引的分类
a) 以存储结构来区别,有聚集索引和非聚集索引之分
b) 以数据的唯一性来区别,有唯一索引和非唯一索引之分
c) 以索引列的个数来区别,有单列索引和多列索引之分
d) 聚集索引插入数据较慢,但是在查询时速度快。非聚集索引与之相反,插入数据时      较快,查询时速度较慢。
--
--创建索引(ids开头)
create 【unique 唯一】 【clustered 聚集】 【nonclustered 非聚集】
index 索引名称
on 表名 (所需要的创建索引的列)

事务

begin transaction 开始事务
@@error 是否成功
commit transaction  成功提交事务
rollback transection 失败回滚事务
Save Transaction:事务内部设置的保存点,就是事务可以不全部回滚,只回滚到这里,保证事务内部不出错的前提下。

存储过程

1. 存储过程优点:
a) 存储过程增强了SQL语句的功能和灵活性。
b) 存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL。
c) 存储过程能实现较快的执行速度、减少网络流量。
d) 存储过程可以作为一种安全机制来充分利用。
2. 创建存储过程的语法:
a) 使用“CREATE PROCEDURE 存储过程名(参数列表)”命令创建存储过程
b) 存储过程包含两种类型的参数:INPUT代表输入参数、OUTPUT代表输出参数
c) 调用存储过程采用”EXEC 存储过程名”。

 
  
--创建【 参数,【output】存储过程参数】
--输出参数 @名称 类型 output
create proc(edure)  名称 (参数)
 as 语句

--使用存储过程
exec 名称 ‘参数’,‘参数 output’


--输出参数 必须使用output

函数

--标量值函数,返回标量值
	create function 函数名(参数1,参数2..)
	returns 返回值类型
	as
	begin
		函数体
	return 返回值
	end

--表值函数,返回一个Table
	create function 函数名(参数1,参数2..)
	returns 返回值名 table(表定义)
	as
	begin
		函数体
	return 
	end

--实例
	carete function 名称 ()
	returns @变量名称 table(
			--定义字段
	名称 类型,
	)
	as
	begin
			insert into @变量名称
			查询数据
	return
	end



--内联表值函数
	cerete function 名称(
		@变量
	)
	returns table 
	as
	return(
		语句
	)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值