mysql 用户自定义变量
SQL中可以用变量来操作值、那么问题就来了、mysql中怎么定义一个变量呢?
一、定义变量
1、定义变量的语法:
set @var_name=expr [,@var_name=expr] ...
2、定义一个变量varName
mysql> set @varName='hello world';
Query OK, 0 rows affected (0.01 sec) mysql> select @varName;
+-------------+
| @varName |
+-------------+
| hello world |
+-------------+
1 row in set (0.00 sec)
3、浪一把(最好不要太浪,不然受伤的只是自己)
set @var-name='hello world';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-name='hello world'' at line 1
由于"-"号这个字符中sql中是用特殊意义的、所以不能这样搞;我们最希望的是解释器把var-name看成一个整体;所以我们要用引号把它们引起来
mysql> set @`var-name`='hello world';
Query OK, 0 rows affected (0.00 sec) mysql> select @`var-name`;
+-------------+
| @`var-name` |
+-------------+
| hello world |
+-------------+ -- 作人哪最好不要太浪、伤的是自己
4、除了set 之外还有什么方式可以给一个变量赋值吗?在这方面我只见过select 有这个能力了
select @varCount:=count(*) from t;
-- 注意这个时候不能用 "="号了 这个时候只能用":=" 来赋值
看起来select 在这方面也还是比较好用的呀! 大兄弟、我根你讲呀! select 赋值是有坑的,由于select 中各个赋值表达式的执行
顺序是并行的;所以你不知道哪个赋值表达式先执行 如:
select @varName:=100,@varName:=@varName+1,@varName:=@varName+2;
+---------------+----------------------+----------------------+
| @varName:=100 | @varName:=@varName+1 | @varName:=@varName+2 |
+---------------+----------------------+----------------------+
| 100 | 101 | 103 |
+---------------+----------------------+----------------------+ -- 就算这个结果看起来是你想要的,你也不能这么写,因为它不能保证每次的结果都是这样的
-- 这样你代码的执行结果就靠运气了
二、说了这么多,那么一个变量可以接受哪些类型的值呢?
1、integer, decimal, floating-point, binary or nonbinary string, or NULL
----
mysql 用户自定义变量的更多相关文章
- 深入MySQL用户自定义变量
一.到底MySQL的变量分哪几类? MySQL变量一共分为两大类:用户自定义变量和系统变量.如下: 用户自定义变量 局部变量 会话变量 系统变量 会话变量 全局变量 本文涉及的内容为用户自定义会话变量 ...
- 深入MySQL用户自定义变量:使用详解及其使用场景案例
一.前言 在前段工作中,曾几次收到超级话题积分漏记的用户反馈.通过源码的阅读分析后,发现问题出在高并发分布式场景下的计数器上.计数器的值会影响用户当前行为所获得积分的大小.比如,当用户在某超级话题下连 ...
- 如何在.Net的MySqlCommand里面使用MySql用户自定义变量?
Mysql使用@符号代表变量,但C#也恰好使用@代表用户自定义变量,这样两者就会正好冲突了. SELECT () AS rowId, u.*, r.RoleName FROM userinfo u L ...
- mysql:用户自定义变量关联失效
自定义变量的属性和限制 使用自定义变量的查询,无法使用查询缓存. 不能在使用常量或者标识列的地方使用自定义变量,例如表名.列明和LIMIT子句中. 用户自定义变量的生命周期是在一个连接中有效,所以不能 ...
- mysql用户自定义变量
可以先在用户变量中保存值然后在以后引用它:这样可以将值从一个语句传递到另一个语句.用户变量与连接有关.也就是说,一个客户端定义的变量不能被其它客户端看到或使用.当客户端退出时,该客户端连接的所有变量将 ...
- MySQL的变量分类总结
在MySQL中,my.cnf是参数文件(Option Files),类似于ORACLE数据库中的spfile.pfile参数文件,照理说,参数文件my.cnf中的都是系统参数(这种称呼比较符合思维习惯 ...
- jmeter参数化数据(_csvread函数、用户自定义变量等)
以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...
- Mysql自定义变量的使用
用户自定义变量是一个容易被遗忘的MySQL特性,但是如果能用的好,发挥其潜力,在某些场景可以写出非常高效的查询语句.在查询中混合使用过程化和关系化逻辑的时候,自定义变量可能会非常有用.单纯的关系查询将 ...
- mysql之变量
本文内容: 系统变量 用户变量 局部变量 首发日期:2018-04-18 系统变量: 系统变量就是系统已经提前定义好了的变量 系统变量一般都有其特殊意义.比如某些变量代表字符集.某些变量代表某些mys ...
随机推荐
- Openfire更服务器名称后报Found RSA certificate that is not valid for the server domain的解决方法
原文:http://blog.sina.com.cn/s/blog_ae5a3d3f0102wdrb.html Openfire更服务器名称的方法: 1.登陆openfire管理页面,在主页面下方选择 ...
- 【IntellJ IDEA】idea上所有代码都报错了
可能会碰到蓝屏,内存溢出重启idea等特殊情况. 重新打开idea后发现原本的代码全都报错了 正确的解决方法: 方法很简单 执行idea工具栏上下面的菜单: File -> Invalidate ...
- PulsingHalo(自定义涟漪)的使用方法
PulsingHalo的git地址是: https://github.com/shu223/PulsingHalo Objective - C 一丶PulsingHalo的实例化和启动: Pulsin ...
- [Android Pro] android 禁用和开启四大组件的方法(setComponentEnabledSetting )
在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个broadcastReceiver广播监听器,用来想监听 第一次开机启动后获得系统的许多相关信息,并保存在文件中 ...
- MySQL模糊查询(like)时区分大小写
问题说明:通过上面的语句,你会发现MySQL的like查询是不区分大小写的,因为我的失误,把Joe写成了joe才发现了这个东东吧.但是,有时候,我们需要区分大小写的是,该怎么办呢?解决方法如下: 方法 ...
- Glide Picasso Fresco UIL 图片框架 缓存 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Spring定时器多定时任务配置
spring-task.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...
- JobControl 的实现原理
本文地址:http://www.cnblogs.com/archimedes/p/hadoop-jobcontrol.html,转载请注明源地址. 引入实例:贝叶斯分类 贝叶斯分类是一种利用概率统计知 ...
- C# 动态装载 DLL
C# 动态装载 DLL LoadDllTool.cs 如下: using System; using System.Collections.Generic; using System.Text; us ...
- 转:如何转换Android打包用jks格式keystore证书为Air用pkcs12格式p12证书
转自:http://blog.k-res.net/archives/1539.html 如何转换Android打包用jks格式keystore证书为Air用pkcs12格式p12证书 六月 11, 2 ...