MYSQL8.0使用總結

  • char和varchar

char和varchar初始化的時候,都需要指定長度,例如char(10),varchar(10),括號中的10表示最長可以存儲多少個字符。無論這個字符是中文還是英文,最長可存儲10個,但是實際這個字符串佔的長度可能是不一樣的。跟這個字符在數據庫當前的字符集下所佔的空間有關。例如“qwertyuiop”和“我的家在江蘇省南京市”,數據庫字符集utf8mb4,兩個字符串都是10個字符,但是第一個字符串實際佔10個字節,第二個字符串實際佔3×10=30個字節。因爲一箇中文字符在utf8mb4下佔3個字節。

可以用函數length()查詢字段所佔的實際字節數,例如:“select length(id) from utf8mb4”

如果啓用了“strict SQL mode”,插入數據時超過規定的長度,會報錯(我們使用的一般是這個模式);未啓用,超過最大長度的數據會被截取刪除並且觸發一個warning。

UTF-8字符集每個字符最多使用三個字節,並且只包含基本多語言面 (Basic Multilingual Plane,BMP)字符。

utf8mb4 字符集使用最多每字符四個字節支持補充字符。截圖最後的Maxlen表示每個字符最多使用的字節。

參考鏈接:https://dev.mysql.com/doc/refman/8.0/en/char.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章