MySQL 查询时如何查看严格模式(mysql 严格模式查看)
MySQL 查询时如何查看严格模式?
MySQL是一种在开源社区中得到广泛应用的关系型数据库管理系统。MySQL的严格模式可以提高数据库的数据质量和安全性,使数据库更加稳定。在MySQL中,如何查询严格模式呢?本文将为大家详细介绍。
MySQL的严格模式是一个选项,它可以控制MySQL是否执行一些严格的SQL语句检查。这些检查可以在一定程度上保证数据库中数据的完整和正确性。在MySQL中,我们可以通过查询系统参数来查看是否启用了严格模式。
在MySQL中,我们使用以下命令可以查询系统参数:
SHOW VARIABLES [LIKE ‘variable_name%’];
其中,‘variable_name’表示待查询的系统参数名称,%表示通配符,表示查询名称以variable_name开头的所有系统参数。
在查询是否开启严格模式时,我们需要查看以下两个系统参数:
sql_mode:它是一个字符串,列出了MySQL当前会话中的所有SQL模式。如果没有设置任何值,则sql_mode默认为“空字符串”。开启严格模式将sql_mode设置为“STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER”。
sql_safe_updates:它是一个布尔类型,如果设置为1,则禁止执行有安全隐患的更新和删除操作。这个参数默认为0。
因此,我们可以通过以下SQL语句查询是否启用了严格模式:
SHOW VARIABLES LIKE ‘sql_mode%’;
结果如下所示:
+————————+——————————————-+
| Variable_name | Value |
+————————+——————————————-+
| sql_mode | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,…… |
+————————+——————————————-+
从上表可以看出,sql_mode中包含了‘STRICT_TRANS_TABLES’,这表示启用了严格模式。
如果未启用严格模式,则sql_mode将不会包含‘STRICT_TRANS_TABLES’,如下所示:
+————————+——————————————-+
| Variable_name | Value |
+————————+——————————————-+
| sql_mode | NO_ENGINE_SUBSTITUTION |
+————————+——————————————-+
在MySQL中,通过查询系统参数‘sql_mode’可以知道是否开启了严格模式。开启严格模式能够提高MySQL数据库的数据质量和安全性,避免在编写SQL语句时出现不规范的情况,从而保证了数据的稳定性和可靠性。