国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

MySQL服務(wù)器的SQL模式是什么

發(fā)布時(shí)間:2021-09-14 18:07 來(lái)源:億速云 閱讀:0 作者:柒染 欄目: Mysql 歡迎投稿:712375056

本篇文章為大家展示了的SQL模式是什么,內容簡(jiǎn)明扼要并且容易理解,絕對能使你眼前一亮,通過(guò)這篇文章的詳細介紹希望你能有所收獲。

SQL 模式定義了 MySQL 數據所支持的 SQL 語(yǔ)法和數據校驗(數據驗證檢查),這樣可以更容易的在不同環(huán)境下使用 MySQL。

在 MySQL 中,SQL 模式常用來(lái)解決下面幾類(lèi)問(wèn)題:

通過(guò)設置 SQL Mode,可以完成不同嚴格程度的數據校驗,有效地保障了數據的準確性。

通過(guò)設置 SQL Mode 為 ANSI 模式,可以保證大多數 SQL 符合標準的 SQL 語(yǔ)法,使不同數據庫之間進(jìn)行遷移時(shí),不需要進(jìn)行較大的修改。

在不同數據庫之間進(jìn)行數據遷移之前,設置 SQL Mode 可以使 MySQL 中的數據更方便地遷移到目標數據庫中。

sql_mode 系統變量的常用值

下面列出了幾種 SQL 模式常用的值。

TRICT_ ALL_TABLES 和 STRICT_ TRANS_TABLES

如果將 sql_mode 的值設置為 TRICT_ALL_TABLES 和 STRICT_TRANS_TABLES,那么 MySQL將啟用“嚴格”模式。在嚴格模式下,MySQL 服務(wù)器會(huì )更加嚴格地對待接收到的不合格數據,它不會(huì )把這些不合格的數據轉換為最為接近的有效值,而是會(huì )拒絕接收它們。

簡(jiǎn)單來(lái)說(shuō) MySQL 的嚴格模式就是 MySQL 自身對數據進(jìn)行的嚴格校驗,例如格式、長(cháng)度和類(lèi)型等。

TRADITIONAL

類(lèi)似于嚴格模式,但是對于插入的不合格值會(huì )給出錯誤而不是警告??梢詰迷谑聞?wù)表和非事務(wù)表,用于事務(wù)表時(shí),只要出現錯誤就會(huì )立即回滾。

如果你使用的是非事務(wù)存儲引擎,建議不要把 SQL Mode 值設置為 TRADITIONAL,因為出現錯誤前進(jìn)行的操作不會(huì )回滾,這樣會(huì )導致操作只進(jìn)行了一部分。

ANSI_QUOTES

MySQL 服務(wù)器會(huì )把雙引號識別為一個(gè)標識符引用字符,而不是字符串的引號字符。所以在啟用 ANSI_QUOTES 時(shí),不能用雙引號來(lái)引用字符串。

PIPES_ AS_ CONCAT

會(huì )讓 MySQL 服務(wù)器把||當成一個(gè)標準的 SQL 字符串連接運算符,而不會(huì )把它當成是 OR 運算符的同義詞。

在 Oracle 等數據庫中,||被視為字符串的連接操作符,所以在其它數據庫中含有||操作符的 SQL 在 MySQL 中將無(wú)法執行,為了解決這個(gè)問(wèn)題,MySQL 提供了這個(gè)值。

ANSI

會(huì )同時(shí)啟用 ANSI_QUOTES、PIPES_ AS_CONCAT 和其它的幾個(gè)模式值,使 MySQL 服務(wù)器的行為比它的默認運行狀態(tài)更接近于標準 SQL。

如何設置sql_mode

在設置 SQL 模式時(shí),需要指定一個(gè)由單個(gè)模式值或多個(gè)模式值(多個(gè)模式值用逗號分隔)構成的值,或者指定一個(gè)空字符串,用以清除該值。模式值不區分大小寫(xiě)。

如果想在啟動(dòng)服務(wù)器時(shí)設置 SQL 模式,那么可以在 mysqld  命令行,或者在某個(gè)選項文件里設置系統變量 sql_mode??梢允褂孟旅嬲Z(yǔ)句:

sql_mode= "TRADITIONAL "
sql_mode= "ANSI_ QUOTES, PIPES_ AS_ CONCAT"

如果只是想在運行時(shí)更改 SQL 模式,那么可以使用 SET 語(yǔ)句來(lái)設置 sql_mode 系統變量。

SET sql_mode = ' TRADITIONAL' ;

如果想設置全局性的 SQL 模式,則需要加上 GLOBAL 關(guān)鍵字:

SET GLOBAL sql_mode = ' TRADITIONAL';

設置全局變量需要具備 SUPER 管理權限。新設置的全局變量值將成為此后連入客戶(hù)端的默認 SQL 模式。

如果想獲取當前會(huì )話(huà)或全局的 SQL 模式值,則可以使用如下語(yǔ)句:

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

其返回值由當前啟用的所有模式構成,兩個(gè)模式之間以逗號隔開(kāi)。如果當前沒(méi)有啟用任何模式,則返回一個(gè)空值。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

色YEYE香蕉凹凸视频在线观看| 婷婷开心色四房播播| 大陆国产乱人伦| 性色AV闺蜜一区二区三区| 国产亚洲AV人片在线观看| 国产精品99久久久久久WWW|