mysql数据库的变量有哪些_MySQL/mariadb知识点——数据库变量

294e6f2879df0332af68cd18f5ec4f96.png

变量

在 MySQL 数据库中,变量有两种,分别为:系统变量和自定义变量。

根据变量的作用范围,又分为:

会话级别变量:仅对当前客户端当次连接有效;

全局级别变量:对所有客户端的任一次连接都有效。

服务器变量还可分为动态变量和非动态变量,动态变量可以在服务器不重启的情况下修改

注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效;有些参数作用域是全局的,且不可改变;有些可以为每个用户提供单独(会话)的设置

服务器选项

# mysqld --help -verbose #获取所有可以的选项

# mysqld --print-defaults #获取默认设置

#mysqld_safe –-skip-name-resolve=1

:在启动服务时加选项参数,禁止反解析IP,提高登录效率;同时也可以将skip_name_resolve=1参数加入到my.cnf配置文件中

服务器系统变量

查看所有全局变量

MariaDB [(none)]> SHOW GLOBAL VARIABLES;

查看当前所有会话变量

MariaDB [(none)]> SHOW VARIABLES;

修改全局变量:仅对修改后新创建的会话有效;对已经建立的会话无效

mysql> SET GLOBAL system_var_name=value;

mysql> SET @@global.system_var_name=value;

修改会话变量

mysql> SET [SESSION] system_var_name=value;

mysql> SET @@[session.]system_var_name=value;

服务器状态变量

查看状态变量(只读):用于保存mysqld运行中的统计数据的变量,不可更改

MariaDB [(none)]> SHOW GLOBAL STATUS; #全局状态变量

MariaDB [(none)]> SHOW STATUS; #会话状态变量

参考官方文档:

SQL_MODE

​sql_mode既是选项有是变量,作用对其设置可以完成一些约束检查的工作,可分别进行全局的设置或当前会话的设置。

MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode'; #查看sql_mode变量,默认为空

NO_AUTO_CREATE_USER 禁止GRANT创建密码为空的用户

NO_AUTO_VALUE_ON_ZERO 在自增长的列中插入0或NULL将不会是下一个自增长值

NO_BACKSLASH_ESCAPES 反斜杠“”作为普通字符而非转义字符

PAD_CHAR_TO_FULL_LENGTH 启用后,对于CHAR类型将不会截断空洞数据

PIPES_AS_CONCAT 将"||"视为连接操作符而非“或运算符”

TRADITIONAL:包括STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,是一个参数的集合

MariaDB [(none)]> SET sql_mode='TRADITIONAL';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值