MySQL之变量
变量:在c语言,c中我们都认识过,MySQL中也有变量.在mysql中主要有以下三种1.系统变量系统变量是 MySQL 服务器内置的变量用来控制数据库的运行行为和配置比如是否自动提交、最大连接数、字符集等。2.用户自定义变量用户自定义变量是 MySQL 会话级变量使用时以开头如name不需要事先声明类型也不属于任何存储过程。3.局部变量局部变量只在存储过程、函数或触发器的范围内有效。需要使用 DECLARE 声明作用域的范围在声明的BEGIN ... END 块内。系统变量查看系统变量show variables;模糊匹配寻找我们想要的系统变量like临时修改系统变量set global 系统变量名的操作;SET GLOBAL autocommit0;尽量不要修改系统变量用户自定义变量变量名变量的赋值1.set 自定义变量 : 数值;SET my_name:pineapple;2.在select语句中赋值变量3.将select语句完成的结果给变量eg:从学生表中查询编号为1的学生学号并赋值给sno变量eg:查询学生表中的总记录数并赋值给conut变量eg:访问一个未赋值的变量返回NULL注意:mysql中赋值是,判断是否相等也是,所以为了更好的阅读我们在赋值操作中偏向于用:局部变量局部变量的声明局部变量的赋值用户自定义变量的赋值相似,不做过多赘述.-- 方式一 SET var_name 值; -- 方式二 【推荐】 SET var_name : 值; -- 方式三查询结果赋值给自定义变量 SELECT 列名 INTO var_name FROM 表名 WHERE ...;eg:在存储过程中定义局部变量记录学生表的总记录数delimiter // CREATE PROCEDURE p4() BEGIN DECLARE my_count int ; SELECT count(*) into my_count from prim_student ; SELECT my_count; END // delimiter ; CALL p4();注意:用户自定义变量在会话结束时失效而局部变量在存储过程或函数结束时失效。这一点有点像c中的全局变量和局部变量的味道