SQL第二章(初级)

一:批处理

理解批处理的概念

批处理是作为一个逻辑单元的T-SQL语句。如果一条语句不能通过语法分析,那么不会运行任何语句。如果一条语句在运行时失败,那么产生错误的语句之前的语句都已经运行了。

  为了将一个脚本分为多个批处理,可使用GO语句。

  GO语句的特点:

  1.   GO语句必须自成一行,只有注释可以再同一行上。
  2.   它使得自脚本的开始部分或者最近一个GO语句以后的所有语句编译成一个执行计划并发送到服务器,与任何其他批处理无关。
  3.   GO语句不是T-SQL命令,而是由各种SQL Server命令实用程序(如:Management Studio中的"查询"窗口)识别的命令。

二:局部变量和全局变量
    局部变量
    ①局部变量必须用@前缀
    ②先声明,再赋值
    ③只在定义它的局部范围内有效

        --声明变量  
            --DECLARE @变量名  数据类型
            DECLARE @id char (10)   --声明一个长度为个字符的变量id
            DECLARE @age int   --声明一个存放职员年龄的整型变量

        --变量赋值 
            --SET @变量名 = 值 :用于普通的赋值
            SET @age = 20
            --SELECT  @变量名 = 值:用于从表中查询数据并赋值
            SELECT @id = '11111'

        --使用变量            
            --找王五学号前后的同学
            declare @sid int 
            select @sid = stuid  from StuInfo where stuname='王五'
            print '王五的学号为:' + convert(varchar(20),@sid)
            select * from StuInfo where stuid=@sid-1 or stuid=@sid+1

使用select 进行赋值时如果查询到的是一个结果集 那么变量得到的值是最后一条记录      

三:输出语句

--print  变量或表达式:以消息形式进行显示
        PRINT '数据库服务器名:' + @@SERVICENAME
        print 15 * 8
    
    --select 变量或表达式:以表格形式进行显示
        SELECT 15 * 8 
        select '数据库服务器名:' + @@SERVICENAME

    --强制类型转换 convert(要转成的数据类型,要转换的值)

四:循环语句

(一) .IF-ELSE条件语句
 语法:IF()
       语句或语句块
     ELSE
       语句或语句块
若有多条语句,则使用语句块,语句块使用BEGIN...END表示,其作用相当于Java语句的“{}”符号。
 IF()
     BEGIN
      语句1
     语句1
     .....
     END
ELSE

(二).CASE 多分支语句:相当于多重if语句
  语法:
   CASE
      WHEN 条件1 THEN 结果1
      WHEN 条件2 THEN 结果2
      [ELSE 其他结果]
   END

(三). WHILE 循环语句 :在循环语句中使用continue和break关键字来控制语句的执行。
  语法:
   WHILE(条件)
    语句或语句块
    [BREAK]

使用break关键字从最内层的while循环中退出。


            

你可能感兴趣的:(SQL第二章(初级))