mysql中char,varchar与text类型的区别和选用
3个回答
2018-08-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
1)char: char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,mysql会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。
(2)varchar: 关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。
(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1
(2)varchar: 关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。
(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1
展开全部
char一般储存长度固定的字符串,比如IP,设定char长度15,存储的字符串12,存储空间占用15;varchar一般储存长度不固定的字符串,比如邮箱,设定var长度100,存储的字符串50,存储空间占用50;所以两者比较char类型查询速度比较快,占用存储空间大;varchar类型查询速度比较慢,占用存储空间小;相对前两者,text存储字符串长度比较长
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char 是固定长度的字符串,不足长度时会用空格补足,长度0-255;
比如char(20),如果实际数据是"123",则会自动补17个空格;
varchar 是可变长度的字符串,不足时不会补空格,超过时会自动截断,长度0-255;
text 是长文本字符串,长度0-65535
此外,还有MEDIUMTEXT,LONGTEXT等
比如char(20),如果实际数据是"123",则会自动补17个空格;
varchar 是可变长度的字符串,不足时不会补空格,超过时会自动截断,长度0-255;
text 是长文本字符串,长度0-65535
此外,还有MEDIUMTEXT,LONGTEXT等
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询