文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

设置和查询MYSQL SQL模式方法

2024-04-02 19:55

关注

下面一起来了解下设置和查询MYSQL SQL模式方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望设置和查询MYSQL SQL模式方法这篇短内容是你想要的。

设置和查询SQL模式

通过修改sql_mode变量的值来改变SQL模式。
SQL模式可以在全局级别下设置,也可以在会话级别下设置。在数据库启动时和数据库运行时都可以对sql_mode的值进行修改。

在数据库启动时设置SQL模式

在命令行中使用--sql_mode='modes'选项,或者在配置文件中使用sql_mode="modes"。
modes是一个以逗号分隔的模式的列表。
要清除SQL模式,将它设置为一个空的字符串,例如sql_mode=""

在数据库运行时设置SQL模式

设置和查询MYSQL SQL模式方法

使用SET语句来更改sql_mode的值,例如:

SET GLOBAL sql_mode = 'modes';
SET SESSION sql_mode = 'modes';

设置全局变量的值需要SUPER权限,设置后应用到之后所有客户端连接的操作。
设置session变量只应用于当前客户端,每个客户端都可以在任何时候更改它的sessionSQL模式。

查询SQL模式

要确定当前使用的SQL模式,使用以下语句进行查询

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

主要的SQL模式

主要的sql_mode的值为以下几种:

SQL模式的完整列表

sql模式可以大致分为以下几类

严格模式(包括STRICT_ALL_TABLES和STRICT_TRANS_TABLES)

在MySQL5.7.4到MySQL5.7.7中,严格模式包括ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE和NO_ZERO_IN_DATE的效果。

用来限制0值,和严格模式一同使用的

在MySQL5.7.4以前版本中,以上三个模式被弃用
在MySQL5.7.4到MySQL5.7.7中,以上三个模式不产生作用,他们的效果包含在严格模式中。
在MySQL5.7.8及以后版本中,以上三个模式才有自己单独的作用,而不是严格模式的一部分。但是,他们应该和严格模式一起使用,并且默认情况下他们都是开启的。如果使用严格模式而不使用上述模式会产生警告,如果使用上述模式中的任何一个但是不启用严格模式也会产生警告。
由于以上三个模式以弃用,在后续的MySQL版本中,他们作为一个单独的模式名会被删除,并且他们的效果将包含在严格模式中。

用来说明符号的作用的
用来限制SHOW CREATE TABLE语句的输出结果的
影响数据库的行为的

SQL模式的组合

以下模式是对上述SQL模式完整列表中的部分组合的缩写

名称完整列表
ANSIREAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE,和 (在MySQL 5.7.5) ONLY_FULL_GROUP_BY
DB2PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS
MSSQLPIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS
POSTGRESQLPIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS
ORACLEPIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER
MAXDBPIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER
TRADITIONALSTRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER,  NO_ENGINE_SUBSTITUTION

看完设置和查询MYSQL SQL模式方法这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的数据库栏目。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯