rinald_未来往事

mysql用户变量 mysql用户自定义变量 @:=

MySQL

mysql用户自定义变量:可以先在用户变量中保存值然后在以后引用它;这样可以将值从一个语句传递到另一个语句。用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,该客户端连接的所有变量将自动释放。

用户变量的形式为@var_name,其中变量名varname可以由当前字符集的文字数字字符、‘.’、‘’和‘$’组成。 默认字符集是cp1252 (Latin1)。可以用mysqld的—default-character-set选项更改字符集。用户变量名对大小写不敏感。

设置用户变量的一个途径是执行SET语句:

SET @var_name = expr [, @var_name = expr] …

对于SET,可以使用=或:=作为分配符。分配给每个变量的expr可以为整数、实数、字符串或者NULL值。
也可以用语句代替SET来为用户变量分配一个值。在这种情况下,分配符必须为:=而不能用=,因为在非SET语句中=被视为一个比较 操作符:

Demo One:对查出的结果数据自定义加一列序号

  1. SET @sNum=0;
  2. SELECT record,projectName,@sNum:=@sNum+1 as serialNo FROM recordtable WHERE datetime='20170210'

Demo Two:对查出的结果数据自定义加一个新列

  1. SELECT record,projectName,@temp:=12 as area FROM recordtable WHERE datetime='20170210'
原文作者:rinald
原文地址:http://fity.cn/post/605.html
互联网技术更新较快,本站很多文章具有实效性,我会及时更新原文,但转载的文章无法通知更新。为了不给读者造成困惑或误导,请您在转载时保留此出处信息,尊重别人也是尊重自己。

已有2位网友发表了看法:

1Lfish 2017-06-17 10:05:40 回复
HELLO.
感觉你很熟悉mysql.请教一个问题:如何创建数据库表的前缀?

我是在这里https://github.com/hisune/tinymvc-demo/issues/1提问,作者答复不够详细,特向你请教。
1Lrinald 2017-07-03 11:06:54 回复
@fish 你好 如果你之前没有表前缀 批量添加方式如下:
Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO fity_', table_name,';' )
FROM information_schema.tables
Where table_schema = 'fity.cn'
然后把上述语句执行结果的sql语句执行下就可以了。上述语句是生成对fity.cn数据库里面的所有数据表添加fity_前缀的sql语句。

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。