MySQL中TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择

储存不区分大小写的字符数据

TINYTEXT 最大长度是 255 (2^8 – 1) 个字符。
TEXT 最大长度是 65535 (2^16 – 1) 个字符。
MEDIUMTEXT 最大长度是 16777215 (2^24 – 1) 个字符。
LONGTEXT 最大长度是 4294967295 (2^32 – 1) 个字符。

 

很早就了解MySQL5中的varchar字段可以大于255个字节,
仔细读了一下MySQL5的文档,其中对varchar字段类型描述:varchar(m) 变长字符串。
M 表示最大列长度。M的范围是0到65,535。
(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。

VARCHAR保存时用一个字节或两个字节长的前缀+数据。
如果VARCHAR列声明的长度大于255,长度前缀是两个字节。注:测试了一下使用UTF8编码,varchar的最大长度为21854字节。

首先longtext的最大长度为4GB, varchar与text的用法区别(最大长度65535-3 vs  65535):

1. varchar有系统默认长度,所以必须在括号里定义长度,可以有默认值。
2. text不能有默认值,存储或检索过程中,不存在大小写转换。
3. 经常变化的字段用varchar,能用varchar的地方不用text(效率上: char>varchar>text)

转载于:https://www.cnblogs.com/fdks/articles/5391286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值