数据库2
1 case有两种用法:
一种:case x
When value1 then dfe
When value2 then sfef
When value3 then sfsfe
Else fdgsgr
end
一种:case
When condition1 then dfse
When condition2 then sfasfe
When condition3 then sfsf
Else sfesfe
End
2 索引
为了提高检索的效率,为经常进行检索的列添加索引,索引会占据空间,而且添加,更新,删除数据的时候也需要更新索引,会降低速度,
3 子查询
将一个查询语句作为一个结果集供其他的SQL语句使用,被当做结果集的查询语句就称为子查询。
只有返回且仅返回一行一列的子查询才能当成单值子查询。如果子查询是多行单列的子查询,这样的结果集其实是一个集合,可以使用in关键字。
4 多表连接
a Inner join b on a.*=b.* 内连接,只能选出两个表中限制条件同时满足的信息,
a left outer join b on a.*=b.* 左外连接,a表记录全显示,b表只显示满足限制条件的信息
a right outer join b on a.*=b.* 右外连接,b表记录全显示,a表只显示满足限制条件的信息
5 视图
视图是一张虚拟表,它并不保存任何记录,实际存储的是查询语句。视图的目的是方便查询,最好不要进行增删改,语法:
Create view sfefsf
As
6 局部变量
声明:declare @变量名 数据类型
赋值:set @变量名 = 值;select @变量名 =值
输出:select 以表格的方式输出,同时输出多个变量
Print 以文本的方式输出,一次只能输出一个
7 全局变量
@@error 最后一个t_SQL错误的错误号
@@indetity 最后一次插入的标识值
@@rowcount 受上一个SQL语句影响的行数
8 事务
指访问并可能更新数据库中的各种数据项的一个程序执行单元,必须作为一个整体
开始事务:begin transaction
提交事务:commit transaction
事务回滚:rollback transaction
判断事务是否出错:
对全局变量@@error进行累加判断,大于0,就回滚
10 存储过程
有名字,参数和返回值。
语法:
Create procedure sfes
@参数1 数据类型【= 默认值】【output】
@参数2数据类型【= 默认值】【output】
As
Begin
End;
执行:exec 过程名 【参数】
11 触发器
触发器是一种特殊的存储过程,主要通过事件来触发,常见的触发器有三种:insert,update,delete
语法:
Create trigger ***(触发器的名字)
On ***(tablename)
For [insert|update|delete…]
As
Begin
end

浙公网安备 33010602011771号