zoukankan      html  css  js  c++  java
  • 一千行MySQL学习笔记(九)

    /* SQL编程 */ ------------------

    --// 局部变量 ----------

    -- 变量声明 declare var_name[,...] type [default value] 这个语句被用来声明局部变量。要给变量提供一个默认值,请包含一个default子句。值可以被指定为一个表达式,不需要为一个常数。如果没有default子句,初始值为null。 -- 赋值 使用 set select into 语句为变量赋值。
    - 注意:在函数内是可以使用全局变量(用户自定义的变量)

    --// 全局变量 ----------

    -- 定义、赋值
    set 语句可以定义并为变量赋值。
    set @var = value;也可以使用select into语句为变量初始化并赋值。这样要求select语句只能返回一行,但是可以是多个字段,就意味着同时为多个变量进行赋值,变量的数量需要与查询的列数一致。还可以把赋值语句看作一个表达式,通过select执行完成。此时为了避免=被当作关系运算符看待,使用:=代替。(set语句可以使用= 和 :=)。

    select @var:=20;
    select @v1:=id, @v2=name from t1 limit 1;
    select * from tbl_name where @var:=30;

    select into 可以将表中查询获得的数据赋给变量。
    -| select max(height) into @max_height from tb;

    -- 自定义变量名

    为了避免select语句中,用户自定义的变量与系统标识符(通常是字段名)冲突,用户自定义变量在变量名前使用@作为开始符号
    @var=10;

    - 变量被定义后,在整个会话周期都有效(登录到退出)

    --// 控制结构 ----------

    -- if语句

    if search_condition then statement_list [elseif search_condition then statement_list]
    ...
    [else statement_list]
    end if;

    -- case语句

    CASE value WHEN [compare-value] THEN result
    [WHEN [compare-value] THEN result ...]
    [ELSE result]
    END

    -- while循环

    [begin_label:] while search_condition do statement_list
    end while [end_label];

    - 如果需要在循环内提前终止 while循环,则需要使用标签;标签需要成对出现。

    -- 退出循环
    退出整个循环 leave 退出当前循环 iterate 通过退出的标签决定退出哪个循环
    (未完待续)

             (作者:Shocker 来源:http://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html)

  • 相关阅读:
    初入职场的一些感悟
    疲惫于时间管理术-应该如何把握时间
    何为有效沟通
    powdesigner生成模型以后导入erwin大坑 oracle12c
    oracle 12c下载及安装全解析(踩坑注意)-win64-12102版本-2019-10-17
    聚集索引与非聚集索引的用法举例与使用注意
    十分钟,带你了解MobX 与 React
    GET https://pic.qyer.com/avatar/008/23/22/84/200?v=1469960206 403 (Forbidden) 图片防盗链
    writing
    使用github pages搭建博客
  • 原文地址:https://www.cnblogs.com/Grace7582/p/4743626.html
Copyright © 2011-2022 走看看