日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL字符串和二进制

發布時間:2025/3/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL字符串和二进制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為了存儲字符串、圖片和聲音等數據,MySQL提供了字符串和二進制類型。

數據類型

CHAR——用于表示固定長度的字符串
VARCHAR——用于表示可變長度的字符串
BINARY——用于表示固定長度的二進制數據
VARBINARY——用于表示可變長度的二進制數據
BOLB——用于表示二進制大數據
TEXT——用于表示大文本數據
ENUM——表示枚舉類型,只能存儲一個枚舉字符串值
SET——表示字符串對象,可以有零或多個值
BIT——表示位字段類型

CHAR和VARCHAR類型

都用來存儲字符串
VARCHAR,可以存儲可變長度的字符串
CHAR,存儲定長字符串
定義如下
CHAR (M)或者VARCHAR (M)
M指的是字符串的最大長度
比如
插入值’ab’
CHAR (4),需要4個字節
VARCHAR (4),需要3個字節
當數據為CHAR (M)類型時,不管插入值的長度是多少,所占用的存儲空間都是M個字節。
當為VARCHAR (M)類型時,所占用的字節數為實際長度加1。

BINARY和VARBINARY類型

類似于CHAR和VARCHAR
用來表示二進制數據
定義如下
BINARY (M)或者VARBINARY (M)
M指的是二進制數據的最大字節長度
注意
BINARY類型的長度是固定的,如果數據的長度不足最大長度,在后面用”\0”補齊。
比如,數據類型為BINARY (3),當插入a時,實際存儲的是”a\0\0”

TEXT類型

用于表示大文本數據
比如,文章內容、評論等
類型分為4中,如下
TINYTEXT
取值范圍:0~255字節
TEXT
取值范圍:0~65535字節
MEDIUMTEXT
取值范圍:0~16777215字節
LONGTEXT
取值范圍:0~4294967295字節

BLOB類型

一種特殊的二進制類型
用于表示數據量很大的二進制數據
比如,圖片、PDF文檔等
分為4種,如下
TINYBLOB
取值范圍:0~255字節
BLOB
取值范圍:0~65535字節
MEDIUMBLOB
取值范圍:0~16777215字節
LONGBLOB
取值范圍:0~4294967295字節
BLOB和TEXT區別
BLOB類型數據,根據二進制編碼進行比較和排序
TEXT類型數據,根據文本模式進行比較和排序

ENUM類型

枚舉類型
定義如下
ENUM (‘值1’,’值2’,’值3’,……,’值N’)
上述的(‘值1’,’值2’,’值3’,……,’值N’)稱為枚舉列表
ENUM類型的數據,只能從枚舉列表中取,而且,只能取一個
枚舉列表中的值都有一個順序編號,存入的是這個順序編號,而不是列表的值

SET類型

用于表示字符串對象
它的值可以有0個,或多個。
SET類型的定義和ENUM類型類似
SET (‘值1’,’值2’,’值3’,……,’值N’)
與ENUM類型相同
(‘值1’,’值2’,’值3’,……,’值N’)列表中的每個值,都有一個順序編號,MySQL中存儲的是這個編號,而不是列表中的值

BIT類型

用于表示二進制
定義如下
BIT (M)
M表示每個值的位數,范圍為1~64
注意
如果分配的BIT (M)的數據長度小于M,在數據的左邊用0補齊
比如
BIT (6)類型的插入值為’101’,實際存儲為’000101’

總結

以上是生活随笔為你收集整理的MySQL字符串和二进制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。