MySQL字符串列类型区别千亿集团 - 千亿集团

MySQL字符串列类型区别千亿集团

2019年02月16日08时32分35秒 | 作者: 夜南 | 标签: 字符串,类型,长度 | 浏览: 14152

 

二进制字符串和非二进制字符串的差异是:
二进制字符串包括的是字节字符串,非二进制字符串包括的是字符字符串;

 

后者能够界说字符集,前者不能够;

 

并且排序和比较前者依据列值字节的数值值,后者则依据字母次序进行排序或比较;

 

 

BINARY相似与CHAR类型,可是保存二进制字符串而不对错二进制字符串;

 

VARBINARY相似与VARCHAR类型,可是保存二进制字符串而不对错二进制字符串;
相同相似的BLOB对应TEXT类型(相应的有TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB和TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT)

 

2.

 

CHAR和VARCHAR相同之处:

 

都能够界说字符串的长度,如CHAR(M), VARCHAR(M);

 

 

不同之处:

 

CHAR(M)界说的列的长度为固定的,M取值能够为0~255之间,当保存CHAR值时,在它们的右边填充空格以到达指定的长度。当检索到CHAR值时,尾部的空格被删除去。在存储或检索过程中不进行巨细写转化。

 

 

VARCHAR(M)界说的列的长度为可变长字符串,M取值能够为0~65535之间,(VARCHAR的最大有用长度由最大行巨细和运用的字符集断定。全体最大长度是65,532字节)。VARCHAR值保存时只保存需求的字符数,另加一个字节来记载长度(假如列声明的长度超越255,则运用两个字节)。VARCHAR值保存时不进行填充。当值保存和检索时尾部的空格仍保存,契合规范SQL。

留意:MySQL 数据库的varchar类型在4.1以下的版别中的最大长度限制为255,其数据规模能够是0~255或1~255(依据不同版别数据库来定)。在 MySQL5.0以上的版别中,varchar数据类型的长度支撑到了65535,也就是说能够寄存65532个字节的数据,开始位和结束位占去了3个字 节,也就是说,在4.1或以下版别中需求运用固定的TEXT或BLOB格局寄存的数据能够运用可变长的varchar来寄存,这样就能有用的削减数据库文 件的巨细。

 

 

CHAR和VARCHAR最大的不同就是一个是固定长度,一个是可变长度。由所以可变长度,因而实践存储的时分是实践字符串再加上一个记载字符串长度的字节(假如超越255则需求两个字节)

 

 

假如分配给CHAR或VARCHAR列的值超越列的最大长度,则对值进行裁剪以使其合适。假如被裁掉的字符不是空格,则会发生一条正告。假如裁剪非空格字符,则会形成过错(而不是正告)并经过运用严厉SQL形式禁用值的刺进。

 

 

因为BINARY和VARBINARY别离与CHAR和VARCHAR对应,因而两者的差异也和CHAR和VARCHAR的差异相似。

 

VARBINARY界说的M值规模为0 =M =255

 

3. VARCHAR和TEXT类型的差异:

 

TEXT类型不需求指定M值,其他方面与VARCHAR都相似:比方存储的是可变长度,即不行的部分不需求右边空格填充;等等。

 

TEXT与VARCHAR相似,实践需求保存字符串自身外加两个字节保存字符串的实践长度。

 

看下表简单了解上面叙述的差异:

 

字符串类型的存储需求(M为最大长度,L实践存储字符串的长度)

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    mysql免安装版装备ITeye

    设置,效劳,数据库
  • 2
  • 3

    按要求写sql句子itjob

    句子,学员,课程
  • 4

    检查数据库的SQL快报

    检查,数据库,检查表
  • 5

    DB2 备份和康复huabian

    康复,备份,数据库
  • 6

    运用MySQL头条

    运用,问题,效劳
  • 7
  • 8

    DATA PUMPfenghuang

    简略,指令,数据
  • 9

    Oracle Dimension 下alibaba

    邮编,区域,月度
  • 10

    Oracle失望锁和达观锁ITeyecsdn

    数据,时分,数据库