是5.0版本的,MySQL中的字符類型
spa
字符串類型對象 |
字節ci |
描述及存儲需求字符串 |
CHAR(M)table |
M數據類型 |
M爲0~255之間的整數二進制 |
VARCHAR(M)im |
M爲0~65535之間的整數,值的長度+1個字節數據 |
|
TINYBLOBimg |
容許長度0~255字節,值的長度+1個字節 |
|
BLOB |
容許長度0~65535字節,值的長度+2個字節 |
|
MEDIUMBLOB |
容許長度0~167772150字節,值的長度+3個字節 |
|
LONGBLOB |
容許長度0~4294967295字節,值的長度+4個字節 |
|
TINYTEXT |
容許長度0~255字節,值的長度+2個字節 |
|
TEXT |
容許長度0~65535字節,值的長度+2個字節 |
|
MEDIUMTEXT |
容許長度0~167772150字節,值的長度+3個字節 |
|
LONGTEXT |
容許長度0~4294967295字節,值的長度+4個字節 |
|
VARBINARY(M) |
容許長度0~M個字節的變長字節字符串,值的長度+1個字節 |
|
BINARY(M) |
M |
容許長度0~M個字節的定長字節字符串 |
1. CHAR和VARCHAR類型在檢索的時候,CHAR 列刪除了尾部的空格,而VARCHAR則保留這些空格。舉例,以下:MYSQL支持的數據類型——字符串類型 - 珊迪 - 珊迪2. BINARY和VARBINARY相似於CHAR和VARCHAR,不一樣的是它們包含二進制字符串而不包含非二進制字符串。例子以下:MYSQL支持的數據類型——字符串類型 - 珊迪 - 珊迪能夠發現,當保存BINARY值時,在值的最後經過填充「ox00」(零字節)以達到指定的字段定義長度。3. ENUM中文名稱叫枚舉類型,它的值範圍須要在建立表時經過枚舉方式顯示指定,對1~255個成員的枚舉須要1個字節存儲;對於255~65535個成員,須要2個字節存儲。最多容許有65535個成員。舉例以下:MYSQL支持的數據類型——字符串類型 - 珊迪 - 珊迪從上面的例子中能夠看出ENUM類型是忽略大小的,對’M’ , ‘f’在存儲的時候將它們都轉成了大寫,還能夠看出對於插入不在ENUM指定範圍內的值時,並無返回警告,而是插入了enum(‘M’ , ‘F’)的第一值‘M‘,這點要特別注意。另外,ENUM類型只容許從值集合中選取單個值,而不能一次取多個值。4. SET類型Set和ENUM類型很是相似,也是一個字符串對象,裏面能夠包含0~64個成員。根據成員的不一樣,存儲上也有所不一樣。1~8成員的集合,佔1個字節9~16成員的集合,佔2個字節17~24成員的集合,佔3個字節25~32成員的集合,佔4個字節33~64成員的集合,佔5個字節Set和ENUM除了存儲以外,最主要的區別在於set類型一次能夠選取多個成員,而ENUM則只能選擇一個。舉例以下:MYSQL支持的數據類型——字符串類型 - 珊迪 - 珊迪Set類型能夠從容許值集合中選擇任意1個或多個元素進行組合,因此對於輸入的值只要是在容許值的組合範圍內,均可以正確的注入到set類型的列中。對於超出容許值範圍的值例如(’a,v’)將不容許注入到上面例子中設置的set類型列中,而對於(’a,d,a’)這樣包含重複成員的集合將只取一次,寫入後的結果爲「a,d」