( 4 )MySQL中的數據類型(字符串類型)


MySQL中的數據類型(字符串類型)

字符長類型
六中數據庫中的數據類型
char , varchar , text ,blob,enum,set
 
char和varchar
char定長:磁盤空間比較浪費,但是效率高,確定數據長度都一樣,就使用定長
比如:電話號碼,身份證號
varchar邊長:比較節省空間,但是效率低,數據不能確定長度(不同數據長度有變化)
比如:地址
 
text類型:
如果數據量非常大,通常說超多255個字符,就使用文本類型
Text 類型最大記錄長度為10個字節(主要用來存儲地址和長度)
text分類
text 和 blob
text : 存儲文字(必要協議,備注等等)
blob : 存儲二進制數據(通常不用),二進制數據實際上都是存儲路徑
 
enum類型
事先將可能出現的結果都設計好,實際存儲的數據必須是枚舉中的一個
枚舉實際在數據庫中存儲的數據是數值而不是字符串
使用方式:enum(可能出現的元素列表)
使用 : 存儲數據,只能存儲上面定義好的數據
 
枚舉原理:
枚舉在進行數據規范的時候,系統會自動建立一個數字與枚舉元素對應的關系(存放於日志中),然后進行數據插入的時候,系統自動將字符串轉換成對應的數字存儲,然后在進行數據提取的時候,系統自動將數值轉換成對應的字符長進行顯示
 
集合字符串set
集合和枚舉很類似: 實際存儲的數值而不是字符串(集合是多選)
集合的使用方式
定義: set(元素列表)
使用: 可以使用元素列表中的一個或者多個,使用逗號隔開
插入數據:可以使用多個元素字符串組合,也可以直接插入數值
集合中每一個元素都對應一個二進制位,選中的為1,未選中的為0,從右向左取
集合中元素的排序關系:其實就是位運算(取反)
 
MYSQL中最大記錄的長度
理論上最大長度為 65535字節(實際上永遠達不到)
在utf8字符集下最大長度 : 21844 21844 * 3 + 2 = 65534
在GBK字符集下最大長度 : 32766 32766 * 2 + 2 = 65534
 
MySQL記錄
如果有任何一個字段允許為空,系統將自動從整個記錄中保留一個字節來存儲NULL(弱想釋放NULL所占用的字節:必須保證所有的字段都不允許為空)
 
 

 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM