mysql字符串类型

字符串类型
utf8字符集 一个汉字占3个字节
GBK字符集 一个汉字占2个字节,一个字母占一个字节
char和varchar
1、char(M)M为该字符串占的最大长度,长度为0~255字节之间任意值,占用固定字节,查询时不区分大小写。
2、varchar(M)长度为0~65535字节之间任意值,以ascii码为例。实际占字节数为实际字符长度的基础上加1,因为最后有个结束标志符占用一个字节。最大能存2w~6w个汉字(受字符集影响),utf8最多可以存22000左右个汉字(受字符集影响),5.0版本以前也只能存255个字节。
3、char和varchar中字符串最后有空格的话,char不保留空格,varchar保留空格。char每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉),一个汉字也表示一个字符,按字符存储。
4、如果插入字符串长度超过限制会提示不能插入

text类型
TINYTEXT 允许长度0~255字节 存储空间值的长度+2个字节
TEXT  允许长度0~65535字节 存储空间为值的长度+2个字节,最大也能存2w~6w个汉字(受字符集影响),text不能全文索引,不能加默认值
MEDIUMTEXT  允许长度0~167772150字节 存储空间为值的长度+3个字节
LONGTEXT  允许长度0~4294967295字节 存储空间为值的长度+4个字节

ENUM类型
格式:属性名 ENUM('值1','值2',...,'值n'); 值最多可以有65535个,这些值末尾的空格将会被系统直接删除,向表中插入的字符只能是ENUM中限定的字符串。
如果加了not null限制,那么不允许插入NULL值,如果不指定插入值默认插入值1。
如果不加not null限制,那么不指定插入值或者插入值为NULL,都显示插入的是NULL。

SET类型
格式:属性名 SET('值1','值2',...,'值n'); 这些值末尾的空格将会被系统直接删除,向表中插入的字符只能是ENUM中限定的字符串,可以其中的多个值的组合,取多个值时,不同值之间用逗号隔开,最多只能有64个值构成。
如插入:set类型取值表为('a','b','c','d'),插入值为('b')和('a,c,d')。显示b和a,c,d。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值