中易网

MySQL中varchar最大长度是多少

答案:1  悬赏:50  
解决时间 2021-01-15 02:11
MySQL中varchar最大长度是多少
最佳答案
MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。
MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则:
a) 存储限制
varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。
b) 编码长度限制
字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;
字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。
若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。
c) 行长度限制
导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。

---------------------------------------------------------------------
mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
歌词中有hi girl hi gril hi boy hi boy是什
百香果益力多的正宗做法,百香果益力多怎样做
德州南到苏鲁界多少公里
99年买了一套澳门回归香铜纪念章,求各位鉴定
"他转过身子,冲大家微笑一下"的英语怎么写
旬阳县和勉县对比哪个地方经济更发展好,地势
金科沃特磁化净水器一台多少钱
汽车暖风的按钮是哪个?
椰梦旅行社公司地址好找么,我有些事要过去
星光大道上的阿木古楞表演节目
2.015*7.3+20.15*0.37-2.015的简便运算
腾讯大王卡开通后人工处理要多久
农业遭遇资本寒冬,这10大涉农企业凭什么获得
马头山加油站怎么去啊,我要去那办事
看后悬挂,是否有ESP胎压侧气囊气帘
推荐资讯
实名制手机号码卡怎么过户
奥图码X115和明基TUCB98有什么区别
CSS中,设置为 display: inline; 的元素,对
以孤灯小卷为题有何妙处
Excel 2002表格中,若在单元格B1中存储一公式
九鼎居艺术沙画地址有知道的么?有点事想过去
用什么方法可以祛除脸上取斑后的痕迹
母亲今天突然已经两次拉裤子里了,是感觉想大
从石家庄机场到新g4上高速怎么走
暖水袋怎样排气?
学生会纪律部代表性物品,类似于勋章(但不要
从广州出发,到福建的邵武应该怎么去才方便快
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?