mysql-高级语言语法

一、注释

  从#字符到行尾

  从'-- '序列到行尾。两个破折号之后至少要有一个空格符或制表符。

 

二、设置变量

  用户变量的形式为@var_name,其中变量名varname可以有当前字符集的文字数字字符、'.'、'_'和'$'组成。

  SET @var_name = expr[.@var_name=expr]...

  对于SET,可以使用=或:=作为分配符。分配给每个变量的expr可以为整数、实数、字符串或者NULL值。

  也可以使用语句替代SET来为用户变量分配一个值。在这种情况下必须用:=不能用=。例如:

  SET @t1=0,@t2=0,@t3=0;

或 

  select @t1:=10

  select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;

 

三、流程控制

  1、case

    case value

    when [compare-value] then result

    [when [compare-value] then result...]

    [else result]

    end

 

2、if

  if(expr1,expr2,expr3):如果expr1是TRUE(expr1<>0 and expr1<>NULL),则if()的返回值是expr2,否则返回值为expr3.if()返回值为数字值或字符串值,具体情况使其所在语境而定。

  select *,if(id>1305,"男',"女")as sex from user;

  IFNULL(expr1,expr2):如果expr1是空,返回expr1,否则返回expr2;

  select IFNULL(1,0)   返回0

  NULLIF(expr1,expr2):如果expr1=expr2成立,那么返回值为NULL,否则返回值为expr1.

  select NULLIF(1,1)  返回NULL

 

posted @ 2018-01-27 09:14  彩电  阅读(361)  评论(0编辑  收藏  举报