MySQL数据库(3)----设置和使用自定义变量
2016-07-17 19:31
483 查看
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)
相关文章推荐
- 一个简单的全文搜索引擎
- 【基础知识思考整理】MySQL数据库中的超时值timeout
- CenterOS6.5(Minimal) 搭建MySQL
- MySQL数据库(2)----检索信息
- MySQL数据库存储引擎
- 浅谈MySQL存储引擎选择 InnoDB还是MyISAM
- MySQL入门指导
- mysql -- 常见异常的解决办法导引
- 我的mysql主从复制配置方法
- 常用的MySQL数据库操作语句大全
- mysql -- 清空表(truncate)与删除数据(delete)
- 【基础知识思考整理 】MySQLSQL注入(SQL Injection )和防注入
- MySQL数据库(1)----入门级操作
- Spark读取数据库(Mysql)的四种方式讲解
- MySQL Infobright 数据仓库快速安装笔记[转]
- 工程开发杂记
- Mysql 分页优化
- mysql创建外键
- MySQL 自动备份脚本
- MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)