2019-07-12mysql 中的sql_mode

查看sql_mode:

select @@sql_mode;

? ? 幾種常見的mode介紹:

? ? ONLY_FULL_GROUP_BY:出現(xiàn)在select語句、HAVING條件和ORDER BY語句中的列,必須是GROUP BY的列或者依賴于GROUP BY列的函數(shù)列。

? ? NO_AUTO_VALUE_ON_ZERO:該值影響自增長列的插入。默認(rèn)設(shè)置下,插入0或NULL代表生成下一個自增長值。如果用戶希望插入的值為0,而該列又是自增長的,那么這個選項(xiàng)就有用了。

? ? STRICT_TRANS_TABLES:在該模式下,如果一個值不能插入到一個事務(wù)表中,則中斷當(dāng)前的操作,對非事務(wù)表不做限制

? ? NO_ZERO_IN_DATE:這個模式影響了是否允許日期中的月份和日包含0。如果開啟此模式,2016-01-00是不允許的,但是0000-02-01是允許的。它實(shí)際的行為受到 strict mode是否開啟的影響1。

? ? NO_ZERO_DATE:設(shè)置該值,mysql數(shù)據(jù)庫不允許插入零日期。它實(shí)際的行為受到 strictmode是否開啟的影響2。ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE過程中,如果數(shù)據(jù)被零除,則產(chǎn)生錯誤而非警告。如果未給出該模式,那么數(shù)據(jù)被零除時MySQL返回NULL

? ? NO_AUTO_CREATE_USER:禁止GRANT創(chuàng)建密碼為空的用戶

? ? NO_ENGINE_SUBSTITUTION:如果需要的存儲引擎被禁用或未編譯,那么拋出錯誤。不設(shè)置此值時,用默認(rèn)的存儲引擎替代,并拋出一個異常

? ? PIPES_AS_CONCAT:將”||”視為字符串的連接操作符而非或運(yùn)算符,這和Oracle數(shù)據(jù)庫是一樣的,也和字符串的拼接函數(shù)Concat相類似

? ? ANSI_QUOTES:啟用ANSI_QUOTES后,不能用雙引號來引用字符串,因?yàn)樗唤忉尀樽R別符

一般報錯,要么改sql語句,要么就是對sql_mode進(jìn)行重新設(shè)置

? ? 下面是對sql中的group by進(jìn)行詳解和說明:

? ? group by 有一個原則, select 后面的所有列中,沒有使用聚合函數(shù)的列,必須出現(xiàn)在 group by 的后面

? ? 聚合函數(shù):求和函數(shù)——SUM()

? ? ? ? ? ? ? ? ? ? ? 計(jì)數(shù)函數(shù)——COUNT()

? ? ? ? ? ? ? ? ? ? ? 最大/最小值函數(shù)—MAX()/MIN()

? ? ? ? ? ? ? ? ? ? ? 均值函數(shù)——AVG()

? ? 要對分組后的結(jié)果進(jìn)行篩選,一般使用having語句來實(shí)現(xiàn)

? ? 注意where與having的區(qū)別,where是在分組前對結(jié)果集進(jìn)行過濾,而having是對group by分組后的結(jié)果集進(jìn)行過濾

---------------------

作者:sunyadong_

來源:CSDN

原文:https://blog.csdn.net/sunyadong_/article/details/86491139

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容