数据库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

posted @ 2012-04-15 16:12  褐色键盘  阅读(217)  评论(0)    收藏  举报