SQL记录

1 存储过程: 存储过程就是一组预编译的SQL语句集合。主要是用来处理逻辑的。

  主要包括:不带参数的存储过程,带输入参数的存储过程,带输出参数的存储过程。

  

2 游标()

3 事务: 

         事务是一种机制,是一种操作序列。它包含了一组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或者撤销操作请求。这一组数据要么全部执行,要么都不  执行。特别适用于多用户同时操作的数据库系统。例如航空公司的订票系统,银行,保险公司以及交易证券系统。

     T_SQL用一下语句管理事务:

        A 开始事务  Begin Transaction

        B 提交事务  Commit Transaction

        D 回滚(撤销)事务  roollback transaction

     事务分为三种事务:

       A 显示事务:用Begin Transaction明确指定事务的开始

       B 隐式事务

       D 自动提交事务: 这是sql server的默认模式。

 

4  索引分为四种:唯一索引,主键索引,聚集索引,非聚集索引 。

    在SQL SERVER中,一个表只能有一个聚集索引,但可以有多个非聚集索引,设置某列为主键,该列就默认为聚集索引。

   创建索引:

use stuDB

                 
if  exists(select name from sysindexes where name ='IX_IndexExam')         //检测是否存在该索引,索引是存在系统表sysindexes表中

                  
drop index   stuMarks.IX_IndexExam                                                                      //删除索引

                 
create nonclusteared index IX_IndexExam

                     
on  stuMarks(writtenExam)

                       
with fillfactor=30

                 
go

 

      注: Unique 指定唯一索引,clustered指定聚集索引,nonclusteared指定非聚集索引

    创建好索引后,我们就可以使用索引了:

     select * from stuMarks (index=IX_IndexExam)

               
where writtenExam between 60 and 90

 

     可以按照以下标准建立索引的列: 该列用于频繁搜索,该列用于对数据进行排序

     不要对以下列创建索引:列中仅仅包含几个不同的值,表中仅包含几行。

      为小型的表创建索引不划算,因为sql server在索引中搜索数据所花的时间比在表中逐行搜索花的时间更长

      

5 常用的约束类型有

    A 主键约束 :要求主键列数据唯一,并且不允许为空

    B 唯一约束:要求该列唯一,允许为空,但是只能出现一个空值

    C 默认约束:某列的默认值,比如性别列中默认为“男”

    D 检查约束:某列的取值范围,格式限制等

    E 外键约束:用于在两个表之间建立关系,需要指定引用主表的那一列

6  T_SQL编程

     A    声明变量 :   Declare  @A,,DataType    ---其中A为局部变量,DataType为类型

     B    逻辑控制语句 :

               if (条件)

                 语句或者语句块

               else 

                  语句或者语句块

     C    while(条件)

                语句或者语句块
               break 

 

     D     case

               when 条件1 then 结果1

               when 条件2 then  结果2

            end

         例子:

      

    select * from stu 

            
print '等级显示成绩如下:'

             
select stuNo.成绩=case

                   
when exam<60 then 'E'

                   
when exam between 60 and 80 then 'D'

                    
else 'A'

                 
end

              
from stu

        

      E  批处理:批处理的标准就是GO。他就是一条或者多条Ssql 语句的集合。

 

 7 视图:视图是保存在数据库中的select查询,就是数据库中的一张虚拟表。

            主要用于一个表或者多个表的查询。通常用来进行一下三个操作:

              1  筛选表中的行        

              2  防止未经许可的用户访问敏感数据

              3 将多个物理数据表抽象为一个逻辑数据表

    创建视图:

 
   use stuDB

    
GO

      
if exists(select * from sysobjects where name='view_stuMarks')
      
drop view view_stuMarks
  
GO
   
create view view_stuMarks
    
as 
     
select stuName,stuAddress from stuInfo left join stuMark on stuInfo.stuNo=stuMark .stuNo
  
GO

 

 // 使用视图:视图就是一个虚拟表,可以像物理表一样打开

  

select  * from  view_stuMarks

 

 

 

posted @ 2011-04-17 23:29  淹死的鱼  阅读(195)  评论(0编辑  收藏  举报