zoukankan      html  css  js  c++  java
  • MySQL数据库(3)----设置和使用自定义变量

      MySQL支持定义自己的变量。这些变量可以被设置为查询结果,这使我们可以方便地把一些值存储起来供今后查询使用。

    mysql> SELECT @HisName:= name FROM student WHERE student_id=3;
    +-----------------+
    | @HisName:= name |
    +-----------------+
    | Lily            |
    +-----------------+
    1 row in set (0.01 sec)
    
    mysql> SELECT * FROM student WHERE name=@HisName;
    +------+-----+------------+
    | name | sex | student_id |
    +------+-----+------------+
    | Lily | F   |          3 |
    +------+-----+------------+
    1 row in set (0.00 sec)

      

      自定义变量的语法为"@变量名" 。在SELECT 语句里,赋值语法是形如 "@变量名:=值" 的表达式。因此,上面的第一个查询主要负责把 student_id = 3 的学生的名字查找出来,并把它赋值给一个名为 @HisName 的变量。这条SELECT 语句的查询结果仍会被显示出来;而将查询结果赋值给变量的过程并不会阻碍该查询的输出显示。第二个查询仍会引用该变量,并在 student 表里查找 name 值等于该变量的那些行。

      也可以使用 SET 语句来对变量进行赋值。此时,"=" 和 ":=" 都可以用作赋值运算符:

    mysql> SET @today=CURDATE();
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SET @one_week_ago:=DATE_SUB(@today,INTERVAL 7 DAY);
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SELECT @today,@one_week_ago;
    +------------+---------------+
    | @today     | @one_week_ago |
    +------------+---------------+
    | 2016-07-17 | 2016-07-10    |
    +------------+---------------+
    1 row in set (0.00 sec)
  • 相关阅读:
    科技爱好者周刊(第 175 期):知识广度 vs 知识深度
    科技爱好者周刊(第 173 期):网络收音机的设计
    Telegra.ph | 简洁的文章发布平台
    前端规范
    Vue入门笔记三(Vuex)
    Vue入门笔记二
    Vue入门笔记一
    多点商城小程序案例笔记一
    sublime text 笔记
    windows下安装SASS
  • 原文地址:https://www.cnblogs.com/dongling/p/5679203.html
Copyright © 2011-2022 走看看