Mysql中@和@@符号的详细使用指南

目录
  • 一、概述
  • 二、使用语法及实践 用户自定义变量
  • 补充:MySQL的@与@@区别
  • 总结

一、概述

@是用户变量,@@是系统变量。

select @a;

变量名,如果你不加的话,会认为这是一个列名,但是这列不存在,就报错了;

@变量名 : 定义一个用户变量.

= 对该用户变量进行赋值.

用户变量赋值有两种方式: 一种是直接用"=“号,另一种是用”:=“号。

其区别在于:

使用set命令对用户变量进行赋值时,两种方式都可以使用;

用select语句时,只能用”:=“方式,因为select语句中,”="号被看作是比较操作符。

(@i:=@i+1)

可以在生成查询结果表的时候生成一组递增的序列号

select (@i:=@i+5) as rownum, surname, personal_name from student, (select @i:=100) as init;
select @ids := ‘101', @l := 0
GROUP_CONCAT + group by

按照分组,连接字段上的数据,默认以,,也可以指定分割符

二、使用语法及实践 用户自定义变量

1、用户定义变量语法

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

如:set @t1 =100;

2、获取用户定义变量值方式,如:

select @t1 from dual;

如下图

系统变量

1、查看全部系统变量指令

SHOW GLOBAL VARIABLES

2、查看单个系统变量

SHOW GLOBAL VARIABLES LIKE 'wait_timeout'

3、设置系统变量语法

SET GLOBAL 变量名 = 变量值

如:SET GLOBAL wait_timeout = 604800;

注:如果修改变量值后没有生效,请退出从新再试下 。

4、获取系统变量值的语法

select @@wait_timeout  from dual;

补充:MySQL的@与@@区别

@x 是 用户自定义的变量 (User variables are written as @var_name)

@@x 是 global或session变量 (@@global @@session )

@@查看全局变量:

select @@log_error;

总结

到此这篇关于Mysql中@和@@符号详细使用的文章就介绍到这了,更多相关Mysql @和@@符号使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Mysql中@和@@符号的详细使用指南

    目录 一.概述 二.使用语法及实践 用户自定义变量 补充:MySQL的@与@@区别 总结 一.概述 @是用户变量,@@是系统变量. select @a; 变量名,如果你不加的话,会认为这是一个列名,但是这列不存在,就报错了: @变量名 : 定义一个用户变量. = 对该用户变量进行赋值. 用户变量赋值有两种方式: 一种是直接用"=“号,另一种是用”:=“号. 其区别在于: 使用set命令对用户变量进行赋值时,两种方式都可以使用: 用select语句时,只能用”:=“方式,因为select语句中,”

  • MySQL中实现分页操作的实战指南

    目录 一. 背景 二. 实现规则 2.1 关键字 LIMIT 2.2 查询数据库表的第 x x x 条记录 2.3 WHERE…ORDER BY…LIMIT… 的声明顺序 (非执行顺序) 三. 拓展 总结 一. 背景 什么是分页,就是查询时候数据量太大,一次性返回所有查询结果既耗费网络资源.又降低了查询效率,用户也不可能一下子看完成千上万条数据.所以分页的技术就应运而生.分页可以只显示指定数量的数据. 分页在我们的生活中随处可见,如下图所示的电商网站: 二. 实现规则 2.1 关键字 LIMIT

  • Mysql中使用时间查询的详细图文教程

    目录 一.使用等号查询 二.查询某月.某日.某年 三.查询时间范围 总结 一.使用等号查询 可以像普通查询使用等号进行查询,但必须查询时间必须和字段对应时间完全相等,比如我要查下面这个值 sql如下: SELECT id, start_time, end_time FROM pay_fee_rule WHERE start_time ='2022-10-9 10:33:39' 查询结果: 但只要改变其中一个值,那么就查不出来了,比如将值改为“2022-10-9 10:33:38”,查询结果如下:

  • 全面解析MySQL中的隔离级别

    数据库并发的对同一批数据进行增删改,就可能会出现我们所说的脏写.脏读.不可重复读.幻读等一系列问题.MySQL提供了一系列机制来解决事务并发问题,比如事务隔离.锁机制.MVCC多版本并发控制机制.今天来探究一下事务隔离机制. 事务是一组SQL组成的逻辑处理单元,先来看下事务的ACID特性: 原子性(Atomicity) :事务是一个原子操作单元,对数据进行修改,要么全执行要么全不执行.是从执行层面上来描述的. 一致性(Consistent) :在事务开始和完成时,数据都必须保持一致状态.是从执行

  • Mysql中复制详细解析

    1.mysql复制概念 指将主数据库的DDL和DML操作通过二进制日志传到复制服务器上,然后在复制服务器上将这些日志文件重新执行,从而使复制服务器和主服务器的数据保持同步.复制过程中一个服务器充当主服务器(master),而一个或多个其它服务器充当从服务器(slaves).主服务器将更新重新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器.从服务器在日志中读取的最后一次成功更新的位置.从服务器接受从那时起发

  • mysql中binlog_format模式与配置详细分析

    mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR).对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED. ① STATEMENT模式(SBR) 每一条会修改数据的sql语句会记录到binlog中.优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binl

  • MySQL中字符串函数详细介绍

    符串或串(String)是由零个或多个字符组成的有限序列.一般记为 s='a1a2•••an'(n>=0).它是编程语言中表示文本的数据类型. 通常以串的整体作为操作对象,如:在串中查找某个子串.求取一个子串.在串的某个位置上插入一个子串以及删除一个子串等.两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等.设p.q是两个串,求q在p中首次出现的位置的运算叫做模式匹配.串的两种最基本的存储方式是顺序存储方式和链接存储方式. 下面我们来看看MySQL中的字符串函数 假如结果的长度

  • Linux中安装MySql 5.7.21的详细操作步骤

    前言 Linux中使用最广泛的数据库就是MySQL,本文将给大家详细介绍关于Linux安装MySql 5.7.21的步骤,文中将步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面话不多说了,来一起看看详细的介绍吧. 一:到mysql官网下载最新的mysql包 mysql-5.7.21-linux-glibc2.12-x86_64 官方下载地址:https://dev.mysql.com/downloads/mysql/ 下载地址:http://www.jb51.net/soft

  • k3d入门指南之在Docker中运行K3s的详细教程

    什么是k3d? k3d是一个小型程序,用于在Docker中运行K3s集群. K3s是经过CNCF认证的轻量级Kubernetes发行和沙箱项目.它是为资源有限环境设计的,被打包为单个二进制文件,所需RAM小于512MB. 要了解有关K3s的更多信息,请查看我们之前的公众号文章及B站上的视频. k3d借助从K3s仓库构建的Docker镜像在安装了Docker的任何机器上的Docker容器中启动多个K3s节点. 这样,一台物理(或虚拟)机(称为Docker Host)可以运行多个K3s集群,每个集群

  • 详细谈谈MYSQL中的COLLATE是什么

    前言 在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` text COLLATE utf8_unicode_ci NOT NULL COMMENT '字段1', `field2` varchar(128) COLLATE utf8_unicode_ci

随机推荐