文章目录
字符串类型
char
char(m) m为字符数,存储占据:m*w字节【w是字符集中最大长度字符所需的字节数】,长度不够m的补空格【检索时会把自动尾随的空格删除】, m=[1,255] ,比varchar查找速度快,因为知道占几个字节
varchar
varchar(m) 最多m个字符数,存储时为L个字符(真实长度)所占字节+存储长度的1字节/2字节(L个字符所占字节<=255则存储长度为1个字节,>255时存储长度为两个字节)。
算上存储长度的自己,存储时最多占据字节为65535【取绝于最大行大小】
字符类型为gbk,则每个字符最多占2个字节,m<=32766
字符类型为utf8k,则每个字符最多占3个字节,m<=21845
字符类型为utf8mb4,则每个字符最多占4个字节,m<=16383
text blob
blob是二进制字符串,text是非二进制字符串
各有四种类型,类型之间仅有容纳长度不同
tinytext tinyblob
字符数<= 2 8 − 1 2^8-1 28−1
存储所占据字节:真实字符数所占字节+1个字节
text blob
字符数<= 2 16 − 1 2^{16}-1 216−1
存储所占据字节:真实字符数所占字节+2个字节
mediumblob mediumtext
字符数<= 2 24 − 1 2^{24}-1 224−1
存储所占据字节:真实字符数所占字节+3个字节
bigtext bigblob
字符数<= 2 32 − 1 2^{32}-1