varchar 和 text区别

varchar在mysql5.0.3之前可存0-255个字节的内容,mysql5.0.3之后可以存65535个字节,注意是字节不是字符,而text可以存65535个字符,字节与字符是不同的,mysql中不同的字符集会导致存储的字节数不同,如varchar若用utf-8的字符集,则汉字是3个字节,用latin或gbk的则是2个字节。
 
因此在utf-8字符集下,建表时varchar(65535)是错的,最多只有21845(65545/3),即建表时最多只可以varchar(21845),如果是gbk,则最大的是varchar(32767) 即65535/2。
 
所以varchar(1)表示可以存储一个汉字或一个ascii字符,实际上占用的存储空间是3个字节。
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值