MySQL中的二进制类型
文章目錄
- 1 MySQL中的二進制類型
- 1.1 二進制類型概覽
- 1.2 binary和varbinary類型
- 1.3 bit類型
- 1.4 blob類型
- 1.5 實戰(zhàn)建議
1 MySQL中的二進制類型
1.1 二進制類型概覽
二進制數(shù)據(jù)和文本數(shù)據(jù)在mysql 中的最大區(qū)別在于:
- 二進制類型存儲原始的二進制數(shù)據(jù)(如圖片,視頻,exe文件等)。文本類型(TEXT)用來存儲字符字符串(如由英文字符、中文字符或其它語言字符組成的字符串)。
- 二進制類型沒有字符集,并且排序和比較基于列值字節(jié)的數(shù)值。而TEXT類型有字符集,并且根據(jù)字符集的校對規(guī)則對值進行排序和比較。
二進制類型是存儲二進制數(shù)據(jù)的數(shù)據(jù)類型,包括BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。二進制類型之間的對比如下表所示。
1.2 binary和varbinary類型
BINARY類型和VARBINARY類型都是在創(chuàng)建表時指定最大長度,其基本形式如下:
- 類型 (M)
其中,“字符串類型”參數(shù)指定數(shù)據(jù)類型為BINARY類型還是VARBINARY類型;M參數(shù)指定該二進制數(shù)的最大字節(jié)長度為M。這與CHAR類型和VARCHAR類型相似。例如,BINARY(10)就是指數(shù)據(jù)類型為BINARY類型,其最大長度為10。
BINARY類型的長度是固定的,最大長度為255。在創(chuàng)建表時就指定了,不足最大長度的空間由″\0″補全。例如,BINARY(50)就是指定BINARY類型的長度為50。
VARBINARY類型的長度是可變的,最大長度為65535。在創(chuàng)建表時指定了最大的長度,其長度可以在0到最大長度之間,在這個最大值范圍內(nèi)使用多少就分配多少。
mysql> use test; #選擇數(shù)據(jù)庫test mysql> create table bin_example(e_bin binary(5),e_varbin varbinary(5)); #創(chuàng)建表 mysql> insert into bin_example values( 'ab','ab'); #插入記錄,可以是普通字符串 mysql> insert into bin_example values( b'0110000101100010',b'0110000101100010'); #插入記錄,可以是二進制,與上例等同 mysql> select * from bit_example ; #以十六進制的方式顯示1.3 bit類型
BIT類型在創(chuàng)建表時指定最大長度,其基本形式如下:
- BIT(M)
其中,“M”指定該二進制數(shù)的最大存儲長度為M,M的最大值為64。例如,BIT(4)就是指數(shù)據(jù)類型為BIT類型,長度為4。若字段的類型BIT(4)存儲的數(shù)據(jù)是0~15,因為變成二進制之后15的值為1111,則其長度為4。如果插入的值為16,其二進制數(shù)為10000,長度為5,超過了最大長度,因此大于16的數(shù)是不能插入BIT(4)類型字段中的。
操作要點:
- 插入數(shù)據(jù)時,使用 b’位串’的方式插入相應值。
- 查詢時,可以使用 bin() 、oct() 、hex() 函數(shù)講字段的值轉(zhuǎn)成相應的二進制、十進制和十六進制。
1.4 blob類型
1.5 實戰(zhàn)建議
實戰(zhàn)建議如下:
參考資料:
總結(jié)
以上是生活随笔為你收集整理的MySQL中的二进制类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 发送结构化的网络消息
- 下一篇: MySQL中的数据查询