SQL复习 狼

编辑器加载中.  第一章:索引和视图

 索引:
    语法: create  index
create unique(唯一性) {clustered(聚集)|nonclustered(非聚集)} 索引名 on  表名(列名)
聚集索引:每张表只能有一个。
作用:存入数据时与索引的顺序相同。
非聚集:可以有多个,最多能有249个。

查看索引:
  语法:exec sp_helpindex 表名

删除索引:
  语法:drop index 表名.索引名



  视图:
     创建语法:create view(关键字) 视图名(v_开头)
           as  (查询语句)select 字段名  from  表名
     修改视图:把create改为alter
     删除视图:drop view.from 视图名称
     修改视图数据:update 视图名  set 修改内容  [条件]
     删除视图数据:delete from 视图名 条件
    
    
     第二章:存储过程


  变量:
     声明变量:declare @变量名 数据类型
             e.g:declare @name nvarchar(50)
     给变量赋值:set @变量名=值;或者select @变量名=值
  流程控制:
        条件语句:if...else,在if...else中大括号用begin,end代替开始和结束。
        循环语句:while  条件表达式
                     begin
                         主体(循环内容)                
                     end
        waitfor语句:用于暂时停止sql语句
               语法:waitfor delay '时间'


   存储过程:
         创建语法:creat proc(关键字) 名字(p_开头)
                   as
                   begin
                     主体
                   end
        带参数的存储过程可以往表中新增数据
            e.g:create proc p_名字
                 定义变量名
                 如:@name
                 as
                 begin
                   insert into 存储过程名(表中字段名'给哪个字段赋值')
                   values(声明的字段名)
                  
                 end
              执行:exec  存储过程名 字段名=值;
       修改存储过程:create改为alter
       查看存储过程:sp_helptext 存储名字
       删除存储过程:drop proc 存储名
       类型转换:cast()


       
        第三章:触发器
 
 触发器的两张零时表:inserted和deleted

       触发器的事件类型       inserted表                  deleted表
        
         新增 insert      存储插入记录的副本               无数据
        
         删除 delete           无数据                存储删除的原始记录的副本
          
         修改 update      存储更新记录的副本         存储被更新原始记录的副本
    
        定义触发器:
              e.g:insert
                create tigger(关键字) 触发器名字 on 表名
                for  选择触发器的方式{insert|delete|update}
                as
                begin
                   定义表中的变量 declare
                   查询数据:select 声明变量=表中变量 from inserted
                   insert  into  表名   values  (传递的内容)
                   
                end

         查看触发器:sp_helptext 触发器名字
         修改触发器:create 修改为alter
         删除触发器:drop tigger 触发器名字


             第四章 : 游标

        定义游标:
               1.声明游标:declare 游标名字  cursor (关键字)
                          for  查询语句
               2.打开游标:open  游标名字

           3.使用游标: 定义表中所需变量

                                      上一条              绝对
                          fetch [next|prior|first|last|absolute] from 游标名
                   保存: into   声明的变量
                   遍历数据:while (条件) @@fetch_status=0
                               begin

                            所需要执行的操作(修改,删除等)

                          fetch [next|prior|first|last|absolute] from 游标名
                   保存: into   声明的变量

                               end
           4.关闭游标:close 游标名
           5.释放游标:deallocate  游标名
  


           第五章:事务

   定义事务:
            1.开启事务:begin tran
            2.提交事务:commit tran
            3.回滚事务:rollback tran
               
            e.g:
          begin try

               begin tran

        捕获异常: begin try
                       新增的数据
                       设保存点:save tran [名字]
                   end  try
                          begin try
                                 新增的数据
                          end  try
                          

                          begin catch
                               commit tran
                          end  catch   

                   begin catch
                        回滚数据
                        rollback tran[保存点名字]
                   end   catch
               
           end try
          
           begin catch
              rollback tran
           end  catch       

..

原文地址:https://www.cnblogs.com/gowhy/p/2108840.html