mysql字串型別

2021-07-02 03:57:14 字數 1163 閱讀 5001

字串型別

utf8字符集 乙個漢字佔3個位元組

gbk字符集 乙個漢字佔2個位元組,乙個字母佔乙個位元組

char和varchar

1、char(m)m為該字串佔的最大長度,長度為0~255位元組之間任意值,占用固定位元組,查詢時不區分大小寫。

2、varchar(m)長度為0~65535位元組之間任意值,以ascii碼為例。實際佔位元組數為實際字元長度的基礎上加1,因為最後有個結束標誌符占用乙個位元組。最大能存2w~6w個漢字(受字符集影響),utf8最多可以存22000左右個漢字(受字符集影響),5.0版本以前也只能存255個位元組。

3、char和varchar中字串最後有空格的話,char不保留空格,varchar保留空格。char每個值都占用m個位元組,如果某個長度小於m,mysql就會在它的右邊用空格字元補足.(在檢索操作中那些填補出來的空格字元將被去掉),乙個漢字也表示乙個字元,按字元儲存。

4、如果插入字串長度超過限制會提示不能插入

text型別

tinytext 允許長度0~255位元組 儲存空間值的長度+2個位元組

text 允許長度0~65535位元組 儲存空間為值的長度+2個位元組,最大也能存2w~6w個漢字(受字符集影響),text不能全文索引,不能加預設值

mediumtext 允許長度0~167772150位元組 儲存空間為值的長度+3個位元組

longtext 允許長度0~4294967295位元組 儲存空間為值的長度+4個位元組

enum型別

格式:屬性名 enum('值1','值2',...,'值n'); 值最多可以有65535個,這些值末尾的空格將會被系統直接刪除,向表中插入的字元只能是enum中限定的字串。

如果加了not null限制,那麼不允許插入null值,如果不指定插入值預設插入值1。

如果不加not null限制,那麼不指定插入值或者插入值為null,都顯示插入的是null。

set型別

格式:屬性名 set('值1','值2',...,'值n'); 這些值末尾的空格將會被系統直接刪除,向表中插入的字元只能是enum中限定的字串,可以其中的多個值的組合,取多個值時,不同值之間用逗號隔開,最多只能有64個值構成。

如插入:set型別取值表為('a','b','c','d'),插入值為('b')和('a,c,d')。顯示b和a,c,d。

mysql字串型別 mysql 字串型別

字串型別 字串型別指char varchar binary varbinary blob text enum和set。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。型別大小用途 char0 255位元組定長字串 varchar0 65535 位元組變長字串 tinyblob0 255位元組...

mysql 可變字串 MySQL 字串型別

字串型 set enum blob text varchar char。1.char 字元 格式 char m 固定長度 m 表示嚴格限定的長度。char 5 varchar 5 5位元組1位元組 需要乙個位元組,儲存字串的總長度 abc abcde abcdef 超出限制,插入不成功 插入不成功 ...

MYSQL 字串型別

binary 與 varbinary 型別和char與varchar型別是相似的,只是他們儲存的是二進位制資料,也就是說他們是包含位元組流而不是字元流,他們有二進位制字元的集合和順序,他們的對比,排序是基於位元組的數值進行的 binary與varbinary的最大長度和char與varchar是一樣...