mysql中的数据类型varchar(255)表示什么意思?麻烦告诉我

mysql中的数据类型varchar(255)表示什么意思?麻烦告诉我,第1张

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:

char(m)类型的数据列里,每个值都占用m个字节,如果某个长度小于m,mysql就会在它的右边用空格字符补足.(在检索 *** 作中那些填补出来的空格字符将被去掉)在varchar(m)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为l+1字节).

varchar(255)表示最大长度是255的可变字符类型

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。

Access 2010数据库中表字段最多255个。

如果表中字段过多,建议对数据进行规范化处理,以避免出现数据冗余大、数据更新造成不一致、数据插入异常和删除异常。每个数据表起码满足一定范式。

第一范式:若一个关系模式R的所有属性都是不可再分的基本数据项,则该关系模式属于第一范式(1NF)。

第二范式:若关系模式R属于1NF,且每个非主属性都完全函数依赖于码,则该关系模式属于2NF。

第三范式:若关系模式R属于1NF,且每个非主属性都不传递依赖于码,则该关系模式属于3NF。

例如,有如下数据:学号,姓名,性别,出生日期,课程号,成绩,所在学院,办公地点,这些数据满足1NF,但其中有不完全函数依赖和传递依赖,要进行规范化,分解为:

R1(学号,姓名,性别,出生日期,所在学院)

R2(学号,课程号,成绩)

R3(所在学院,办公地点)

由一个表分解为3个表来处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6622699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存