关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道。。。。。。 于是去查阅了一些资料,顺便将这三种类型做个比较: (1)char: char不用多说了,它是定长格式的,但是长度范围是0~255 当你想要储存一个长度不足255的字符时,mysql会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。 (2)varchar: 关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在503以下的版本中的最大长度限制为255,而在503及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在503以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。 (3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1 总结起来,有几点: 经常变化的字段用varchar 知道固定长度的用char 尽量用varchar 超过255字符的只能用varchar或者text 能用varchar的地方不用text
mysql中text最大长度为65,535(2的16次方_1)字符的TEXT列。
如果觉得text长度不够,可以选择:
1、MEDIUMTEXT最大长度为16,777,215
2、LONGTEXT最大长度为4,294,967,295
使用方法:
mysql中的text对应oracle中的clob,又分为TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT,都是表示数据长度类型的一种。
语法:[UNSIGNED]mediutext
TINYTEXT:256bytes
TEXT:65,535bytes=
MEDIUMTEXT:16,777,215bytes=
扩展资料:
text等字段需要慎重使用,多个text字段会报错,Rowsizetoolarge表示行的内容太多了。
修改方法:
1、首先查询下参数的值:
mysql
2、然后去设置这个值:(数字根据需要自行填写)
mysql
当排序时只使用该列的前max_sort_length个字节。max_sort_length的默认值是1024;该值可以在启动mysqld服务器时使用_max_sort_length选项进行更改。
text和charvarcharblob这几种类型的区别:
char:定长,最大255个字符
varchar:变长,最大65535个字符(既是单列的限制,又是整行的限制)
text:变长,有字符集的大对象,并根据字符集进行排序和校验,大小写不敏感
blob:变长,无字符集的二进制大对象,大小写敏感
以上就是关于PostgreSQL数据库中char,varchar和text的区别全部的内容,包括:PostgreSQL数据库中char,varchar和text的区别、Mysql中的Text字段的范围与使用方法!(mysql的text类型)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)