15. 变量

    技术2023-06-09  85

    文章目录

    系统变量自定义变量

    变量分为两种:系统变量 vs 自定义变量

    系统变量

    系统定义好的变量:大部分的时候用户根本不需要使用系统变量:系统变量是用来控制数据库服务器的表现的:如autocommit、auto_increment等等查看系统变量 show variables; -- 查看所有的系统变量 show variables like 'pattern'; -- 查看部分指定的系统变量

    查看系统变量具体指:任何一个有数据返回的内容都是由select查看 select @@变量名;

    修改系统变量的值:会话级别的修改 vs 全局修改会话级别的修改:临时修改:当前客户端当次连接有效 set 变量名 = 值; set @@变量名 = 值;

    全局修改:一次修改永久生效:对所有客户端都有效:注意必须断开重连才会生效 set global 变量名 = 值;

    断开重连:

    自定义变量

    自定义变量:为了区分系统变量:规定用户自定义变量必须使用一个@符号 set @变量名 = 值; -- 定义用户自定义变量

    查看自定义变量的值 select @变量名; 在mysql中,很多地方将"="会默认的当做比较符号处理,mysql为了区分比较和赋值的概念:重新定义了一个新的赋值符号::=,即冒号等于set后面的"="理解为赋值操作:这里可以解释的通update语句中的为什么有set关键字了mysql允许从数据表获取数据,然后赋值给变量:两种方式方案一:赋值并查看结果 select @变量 := 字段, @变量 := 字段 ... from 数据源;

    只有赋值不看结果: 要求很严格: 数据记录最多只允许获取一条: mysql不支持数组 select */字段列表 from 数据源 into @变量,@变量,...;

    所有自定义变量都是会话级别的:当前客户端当次连接有效所有自定义变量都是用户级别的:所有数据库都可以使用:不区分数据库
    Processed: 0.018, SQL: 9