• 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       

    ..

  • 相关阅读:
    latex如何输入正确的 双引号
    【leetcode】Linked List Cycle
    CodeForces 441 A. Valera and Antique Items
    JS封深入了解
    ArcGIS Engine开发之旅04---ARCGIS接口详细说明
    ArcGIS Engine开发之旅03--ArcGIS Engine中的控件
    ArcGIS Engine开发之旅02--ArcGIS Engine中的类库
    ArcGIS Engine开发之旅01---产品组成、逻辑体系结构
    ArcGIS三大文件格式解析
    1.准备工作及实例
  • 原文地址:https://www.cnblogs.com/gowhy/p/2108840.html
Copyright © 2020-2023  润新知