国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)系數(shù)據(jù)庫(kù)-9-[mysql8]中的語(yǔ)法校驗(yàn)規(guī)則sql_mode應(yīng)用

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)系數(shù)據(jù)庫(kù)-9-[mysql8]中的語(yǔ)法校驗(yàn)規(guī)則sql_mode應(yīng)用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Mysql中sql_mode使用詳解

1 sql_mode簡(jiǎn)介

sql_mode是一組mysql的語(yǔ)法校驗(yàn)規(guī)則,定義了mysql應(yīng)該支持的sql語(yǔ)法、數(shù)據(jù)校驗(yàn)等。

1.1 查看當(dāng)前的sql_mode

查看當(dāng)前的sql_mode,三種方式:
(1)select @@sql_mode;
(2)select @@SESSION.sql_mode;
(3)select @@GLOBAL.sql_mode;
輸出如下:
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION

1.2 如何設(shè)置sql_mode

方式一:通過(guò)命令設(shè)置
SET sql_mode = '';
SET SESSION sql_mode = '';
SET GLOBAL sql_mode = '';

方式二:修改mysql的配置文件my.cnf
修改后需要重啟mysql服務(wù)使其生效
[mysqld]
sql_mode = ANSI

1.3 sql_mode模式

1.3.1 ANSI模式

這是一種寬松模式,該模式下,會(huì)對(duì)所操作數(shù)據(jù)進(jìn)行校驗(yàn),如果不符合校驗(yàn)規(guī)則,數(shù)據(jù)會(huì)按照規(guī)則執(zhí)行,并報(bào)warning警告。

該模式下,sql_mode參數(shù)為:
REAL_AS_FLOAT,
PIPES_AS_CONCAT,
ANSI_QUOTES,
IGNORE_SPACE,
ANSI

1.3.2 STRICT_TRANS_TABLES模式

這是一種嚴(yán)格模式,該模式下,會(huì)對(duì)所操作數(shù)據(jù)進(jìn)行嚴(yán)格校驗(yàn),如果不符合校驗(yàn)規(guī)則,報(bào)error錯(cuò)誤。

該模式下,sql_mode參數(shù)為:
STRICT_TRANS_TABLES

1.3.3 TRADITIONAL模式

這是一種嚴(yán)格模式,該模式下,會(huì)對(duì)所操作數(shù)據(jù)進(jìn)行嚴(yán)格校驗(yàn),如果不符合校驗(yàn)規(guī)則,報(bào)error錯(cuò)誤。用于事務(wù)時(shí),會(huì)進(jìn)行事物的回滾,保證了錯(cuò)誤數(shù)據(jù)無(wú)法插入到數(shù)據(jù)庫(kù)中。

該模式下,sql_mode參數(shù)為:
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

1.4 常用sql_mode各參數(shù)詳解

1、PIPES_AS_CONCAT
將"||"作為字符串的鏈接字符操作,而不是作為或運(yùn)算符,
與"concat"相類(lèi)似。

2、ANSI_QUOTES
不能用雙引號(hào)來(lái)引用字符串,因?yàn)樗鼤?huì)被解釋為識(shí)別符。

3、IGNORE_SPACE
用于忽略mysql系統(tǒng)函數(shù)與之后的括號(hào)之間的空格。

4、STRICT_TRANS_TABLES和STRICT_ALL_TABLES
嚴(yán)格模式的一種,會(huì)對(duì)所操作數(shù)據(jù)進(jìn)行嚴(yán)格校驗(yàn)。
如果不符合校驗(yàn)規(guī)則,報(bào)error錯(cuò)誤。

5、NO_ZERO_IN_DATE
在嚴(yán)格模式下,不允許日期和月份為零。

6、NO_ZERO_DATE
在嚴(yán)格模式下,不允許插入0日期。

7、ERROR_FOR_DIVISION_BY_ZERO
在嚴(yán)格模式下,不允許在字段中插入除數(shù)為0的運(yùn)算值,會(huì)直接報(bào)錯(cuò)。
直接計(jì)算除數(shù)為0的運(yùn)算,返回null,報(bào)warning。

8、ONLY_FULL_GROUP_BY
select后面的字段中,只能出現(xiàn)分組列和聚合列。

9、其他
NO_AUTO_CREATE_USER(用戶)
ALLOW_INVALID_DATES(日期)
HIGH_NOT_PRECEDENCE(not優(yōu)先級(jí))
NO_AUTO_VALUE_ON_ZERO(主鍵)
NO_BACKSLASH_ESCAPES(反斜杠)
NO_DIR_IN_CREATE(數(shù)據(jù)目錄)
NO_ENGINE_SUBSTITUTION(存儲(chǔ)引擎)
NO_UNSIGNED_SUBTRACTION(無(wú)符號(hào)數(shù)相減計(jì)算)
PAD_CHAR_TO_FULL_LENGTH(char字段存儲(chǔ))
TIME_TRUNCATE_FRACTIONAL(時(shí)間類(lèi)型超出范圍處理)

1.5 不同版本默認(rèn)的sql_mode

MySQL 5.5:空

MySQL 5.6:NO_ENGINE_SUBSTITUTION【存儲(chǔ)引擎】

MySQL 5.7:
ONLY_FULL_GROUP_BY,【select后面的字段中,只能出現(xiàn)分組列和聚合列】 
STRICT_TRANS_TABLES,【嚴(yán)格模式的一種,會(huì)對(duì)所操作數(shù)據(jù)進(jìn)行嚴(yán)格校驗(yàn)】
NO_ZERO_IN_DATE, 【在嚴(yán)格模式下,不允許日期和月份為零】
NO_ZERO_DATE, 【在嚴(yán)格模式下,不允許插入0日期】
ERROR_FOR_DIVISION_BY_ZERO, 【在嚴(yán)格模式下,不允許在字段中插入除數(shù)為0的運(yùn)算值,會(huì)直接報(bào)錯(cuò)】
NO_AUTO_CREATE_USER, 【用戶】 
NO_ENGINE_SUBSTITUTION【存儲(chǔ)引擎】

MySQL 8.0:
ONLY_FULL_GROUP_BY, 【select后面的字段中,只能出現(xiàn)分組列和聚合列】 
STRICT_TRANS_TABLES, 【嚴(yán)格模式的一種,會(huì)對(duì)所操作數(shù)據(jù)進(jìn)行嚴(yán)格校驗(yàn)】
NO_ZERO_IN_DATE, 【在嚴(yán)格模式下,不允許日期和月份為零】
NO_ZERO_DATE, 【在嚴(yán)格模式下,不允許插入0日期】
ERROR_FOR_DIVISION_BY_ZERO, 【在嚴(yán)格模式下,不允許在字段中插入除數(shù)為0的運(yùn)算值,會(huì)直接報(bào)錯(cuò)】
NO_ENGINE_SUBSTITUTION【存儲(chǔ)引擎】

2 實(shí)際應(yīng)用

1.查詢當(dāng)前 mysql 數(shù)據(jù)庫(kù) 的 SQL_MODE
select @@SQL_MODE

如果包含 ANSI_QUOTES

2.修改my.cnf
SQL_MODE=ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION

保存配置文件,之后重啟mysql 服務(wù)

3.然后再次驗(yàn)證
select @@SQL_MODE

SQL驗(yàn)證
select REPLACE(uuid(),“-”,“”) from DUAL文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-433708.html

到了這里,關(guān)于關(guān)系數(shù)據(jù)庫(kù)-9-[mysql8]中的語(yǔ)法校驗(yàn)規(guī)則sql_mode應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL8.0+數(shù)據(jù)庫(kù)GTID主從模式搭建

    參見(jiàn): MySQL數(shù)據(jù)庫(kù)8.0+版本部署安裝-CSDN博客 部署環(huán)境[例]: 主庫(kù):192.168.179.153:3306 從庫(kù):192.168.179.154:3306 主從庫(kù)開(kāi)啟GTID模式 // 主從庫(kù)均修改,修改從庫(kù)配置文件,在[mysqld]下添加如下配置 $ vim /etc/my.cnf gtid_mode = on enforce_gtid_consistency = on 需檢查server-id配置,為主從架構(gòu)中的所有

    2024年02月04日
    瀏覽(30)
  • java連接mysql8.0數(shù)據(jù)庫(kù)—jdbc連接

    java連接mysql8.0數(shù)據(jù)庫(kù)—jdbc連接

    mysql官網(wǎng) 點(diǎn)擊platform Independent ,然后出現(xiàn)jar包選項(xiàng) 點(diǎn)download 點(diǎn)左下角no thanks,直接下載 原始方法,直接在項(xiàng)目下建一個(gè)lib包 然后將剛剛下好的zip解壓,復(fù)制jar包到該目錄下,右鍵jar包,選擇add as Library 出現(xiàn)一堆包,表示成功導(dǎo)入jar包 注意:Driver類(lèi)創(chuàng)建時(shí),要導(dǎo)入com.mysql.cj.

    2024年02月13日
    瀏覽(96)
  • MySQL8.0數(shù)據(jù)庫(kù)超詳細(xì)安裝教程全過(guò)程

    MySQL8.0數(shù)據(jù)庫(kù)超詳細(xì)安裝教程全過(guò)程

    1、官網(wǎng)下載MySQL8.0地址:MySQL :: Download MySQL Installer (Archived Versions) 2、 雙擊安裝包進(jìn)行安裝 3、自定義安裝 4、選擇MySQL Server8.0 ? 5、創(chuàng)建MYSQL數(shù)據(jù)存儲(chǔ)目錄及安裝目錄 6、配置安裝路徑及數(shù)據(jù)存儲(chǔ)目錄 7、確認(rèn)繼續(xù) 8、選擇MySQL,下一步 9、開(kāi)始安裝 10、第一次安裝需要C++的依賴

    2024年02月08日
    瀏覽(38)
  • centos9 mysql8修改數(shù)據(jù)庫(kù)的存儲(chǔ)路徑

    centos9 mysql8修改數(shù)據(jù)庫(kù)的存儲(chǔ)路徑

    系統(tǒng):CentOS Stream release 9 mysql版本:mysql Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL) 查看目錄數(shù)據(jù)存儲(chǔ)的位置 操作 1、新建存放的目錄,拷貝原數(shù)據(jù)庫(kù)內(nèi)容到新建目錄 關(guān)閉selinux 永久關(guān)閉 vi /etc/selinux/config 設(shè)置 SELINUX=disabled,即可 2、修改mysql配置文件 my.cnf內(nèi)容如下 3、重新

    2024年02月11日
    瀏覽(27)
  • mysql8.0無(wú)法創(chuàng)建數(shù)據(jù)庫(kù) 解決root無(wú)法授權(quán)問(wèn)題

    mysql的賦權(quán)操作:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘你的密碼‘ WITH GRANT OPTION; mysql賦權(quán)操作: use mysql; GRANT ALL PRIVILEGES ON *.* TO \\\'root\\\'@\\\'%\\\' IDENTIFIED BY \\\'你的密碼\\\' WITH GRANT OPTION; flush privileges; GRANT:賦權(quán)命令 ALL PRIVILEGES:當(dāng)前用戶的所有權(quán)限 ON:介詞 *.*:當(dāng)前用戶

    2024年02月12日
    瀏覽(26)
  • 重學(xué)MySQL之關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)

    重學(xué)MySQL之關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)

    1.1 關(guān)系型數(shù)據(jù)庫(kù)的特性 1.1.1 事務(wù)的特性 事務(wù),是指一個(gè)操作序列,這些操作要么都執(zhí)行,或者都不執(zhí)行,而且這一序列是無(wú)法分隔的獨(dú)立操作單位。也就是符合原子性(Atomicity)、 一致性(Consistency)、 隔離性(Isolation)和持久性(Durability)的一組操作。 原子性:指一個(gè)

    2024年02月02日
    瀏覽(25)
  • 快速生成 MySQL 數(shù)據(jù)庫(kù)關(guān)系圖

    快速生成 MySQL 數(shù)據(jù)庫(kù)關(guān)系圖

    在公司老舊系統(tǒng)里,數(shù)據(jù)庫(kù)表很多,但是在設(shè)計(jì)之初并沒(méi)有建立好關(guān)系圖,導(dǎo)致新人剛?cè)肼?面對(duì)N個(gè)庫(kù),每個(gè)庫(kù)幾百?gòu)埍?,很不方便?例如:公司某一個(gè)系統(tǒng)的庫(kù)有三百?gòu)埍?,在不熟悉?xiàng)目的情況下,打開(kāi)數(shù)據(jù)庫(kù)看到一列列的表,很不清晰,對(duì)新入職同事很不友好。 我們一個(gè)

    2024年02月04日
    瀏覽(30)
  • 【數(shù)據(jù)庫(kù)】MySQL數(shù)據(jù)約束和表關(guān)系詳解

    【數(shù)據(jù)庫(kù)】MySQL數(shù)據(jù)約束和表關(guān)系詳解

    目錄 1.數(shù)據(jù)庫(kù)約束 1.1約束類(lèi)型 1.2NULL約束 1.3UNIQUE:唯一約束 1.4DEFAULT:默認(rèn)值約束 1.5PRIMARY:主鍵約束 1.6FOREIGH KEY:外鍵約束 2.表的關(guān)系 2.1一對(duì)一 2.2一對(duì)多 2.3多對(duì)多 數(shù)據(jù)庫(kù)中的數(shù)據(jù)保存在數(shù)據(jù)表中,在表中為了更加準(zhǔn)確的存儲(chǔ)數(shù)據(jù),保證數(shù)據(jù)的正確有效,可以在創(chuàng)建表的時(shí)候

    2024年02月04日
    瀏覽(21)
  • MySQL——性能優(yōu)化與關(guān)系型數(shù)據(jù)庫(kù)

    MySQL——性能優(yōu)化與關(guān)系型數(shù)據(jù)庫(kù)

    吞吐與延遲:有些結(jié)論是反直覺(jué)的,指導(dǎo)我們關(guān)注什么。 沒(méi)有量化就沒(méi)有改進(jìn):監(jiān)控與度量指標(biāo),指導(dǎo)我們?cè)趺慈ト胧帧?80/20原則:先優(yōu)化性能瓶頸問(wèn)題,指導(dǎo)我們?nèi)绾稳?yōu)化。 過(guò)早的優(yōu)化是萬(wàn)惡之源:指導(dǎo)我們要選擇優(yōu)化的時(shí)機(jī)。 脫離場(chǎng)景談性能都是耍流氓:指導(dǎo)我們對(duì)

    2024年02月01日
    瀏覽(39)
  • 【MySQL】——關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL(大綱)

    【MySQL】——關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL(大綱)

    ??個(gè)人專(zhuān)欄: ?? 算法設(shè)計(jì)與分析:算法設(shè)計(jì)與分析_IT閆的博客-CSDN博客 ??Java基礎(chǔ):Java基礎(chǔ)_IT閆的博客-CSDN博客 ??c語(yǔ)言:c語(yǔ)言_IT閆的博客-CSDN博客 ??MySQL:數(shù)據(jù)結(jié)構(gòu)_IT閆的博客-CSDN博客 ??數(shù)據(jù)結(jié)構(gòu):??????數(shù)據(jù)結(jié)構(gòu)_IT閆的博客-CSDN博客 ??C++:C++_IT閆的博客-CSDN博

    2024年01月20日
    瀏覽(54)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包