您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql命令集的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
sql_mode定義了mysql應該支持的sql語法,數據校驗等
select @@sql_mode;
屬性 | 說明 |
---|---|
ONLY_FULL_GROUP_BY | 對于GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那么將認為這個SQL是不合法的,因為列不在GROUP BY從句中 |
STRICT_TRANS_TABLES | 如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做任何限制 |
NO_ZERO_IN_DATE | 在嚴格模式,不接受月或日部分為0的日期。如果使用IGNORE選項,我們為類似的日期插入'0000-00-00'。在非嚴格模式,可以接受該日期,但會生成警告。 |
NO_ZERO_DATE | 在嚴格模式,不要將 '0000-00-00'做為合法日期。你仍然可以用IGNORE選項插入零日期。在非嚴格模式,可以接受該日期,但會生成警告 |
ERROR_FOR_DIVISION_BY_ZERO | 在嚴格模式,在INSERT或UPDATE過程中,如果被零除(或MOD(X,0)),則產生錯誤(否則為警告)。如果未給出該模式,被零除時MySQL返回NULL。如果用到INSERT IGNORE或UPDATE IGNORE中,MySQL生成被零除警告,但操作結果為NULL |
NO_AUTO_CREATE_USER | 防止GRANT自動創建新用戶,除非還指定了密碼。 |
NO_ENGINE_SUBSTITUTION | 如果需要的存儲引擎被禁用或未編譯,那么拋出錯誤。不設置此值時,用默認的存儲引擎替代,并拋出一個異常 |
sql_mode模式
模式 | 說明 |
---|---|
ANSI | 寬松模式,更改語法和行為,使其更符合標準SQL。對插入數據進行校驗,如果不符合定義類型或長度,對數據類型調整或截斷保存,報warning警告。對于本文開頭中提到的錯誤,可以先把sql_mode設置為ANSI模式,這樣便可以插入數據,而對于除數為0的結果的字段值,數據庫將會用NULL值代替。 |
TRADITIONAL | 嚴格模式,當向mysql數據庫插入數據時,進行數據的嚴格校驗,保證錯誤數據不能插入,報error錯誤,而不僅僅是警告。用于事物時,會進行事物的回滾。 注釋:一旦發現錯誤立即放棄INSERT/UPDATE。如果你使用非事務存儲引擎,這種方式不是你想要的,因為出現錯誤前進行的數據更改不會“滾動”,結果是更新“只進行了一部分”。 |
STRICT_TRANS_TABLES | 嚴格模式,進行數據的嚴格校驗,錯誤數據不能插入,報error錯誤。如果不能將給定的值插入到事務表中,則放棄該語句。對于非事務表,如果值出現在單行語句或多行語句的第1行,則放棄該語句。 |
數據表
模式 | 說明 |
---|---|
show index <表名> | 查詢表索引 |
desc <表名> | 查詢表結構 |
命令 | 說明 |
---|---|
show OPEN TABLES where In_use > 0; | 查詢是否鎖表 |
show processlist; | 查看所有進程 |
show full processlist; | |
kill <$pid> | 殺掉指定mysql連接的進程號 |
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; | 查看正在鎖的事務 |
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; | 查看等待鎖的事務 |
show engine innodb status; | 查看innodb引擎的運行時信息 |
show status like '%lock%'; | 查看服務器狀態 |
show variables like '%timeout%'; | 查看超時時間 |
關于“mysql命令集的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。