在mysql中,变量分为普通变量、系统和服务器变量、存储过程局部变量。通常普通变量用的场合较少,较复杂的查询逻辑通常使用存储过程实现或者采用PHP、JAVA等编程语言实现。现实中数据库端变量使用最多的情况是在存储过程中的局部变量。
普通变量(用户变量):
以@开头,仅存在于SQL连接时,当前SQL连接关闭时失去内容。
系统和服务器变量:
以@@开头,保存MYSQL服务器工作状态或属性
存储过程局部变量:
仅在存储过程中有效,使用declare 进行声明
以下不讨论存储过程中的变量使用
查询已定义变量:
SHOW VARIABLES
变量赋值:
(1)SET @varname = 8
(2)SELECT @varname := 8
(3)SELECT @varname := COUNT(*) FROM table
(4)SELECT COUNT(*) FROM table INTO @varname
(5)SELECT title,subtitle FROM titles WHERE titleID = 8 INTO @t,@st
变量使用:
SELECT @varname
SELECT * FROM titles WHERE titleID = @varname