
正文
mysql汉字几个字符串,mysql字母占几个字符
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在mysql中一个中文字符占几个字节?
1、如果是gbk,一个汉字占2个字节 如果是utf-8,一个汉字占3个字节 一般mysql,用的是utf-8,不过这个最好看一下。
2、个汉字,一个汉字=2字节。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
3、但是对于汉字,按照同样的方法就不行了。因为对于汉字不同的字符集,在数据库占用的字节是不一样的。UTF-8字符集,一个汉字占三个字节,gbk字符集,一个汉字占两个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。
4、在MySQL中,char占用的字节数是固定的,比如:如果定义char(2),则占用2个字节的空间。
5、这几种text类型基本上是不需要指定长度的。
6、要看你的编码格式,utf-8占三字节,gb2312占二字节 比如你的格式是utf-8 那么varchar(1)的长度就是占用三字节。
相关问答
Q1: 一个汉字在数据库占几个字节
若采用GBK编码,则一个汉字=2个字节。项目中oracle10g数据库表字段为varchar(n)类型,存英文很简单,只要字母个数不大于n即可。但是对于汉字,按照同样的方法就不行了。因为对于汉字不同的字符集,在数据库占用的字节是不一样的。
页面上输入时不分字还是字节的,页面上限制30个字母,输入汉字同样可以30个,但是数据库中限制了该字段30个字节的话,输入30个汉字会被截断,只能扩大数据字段的长度。
如果是gbk,一个汉字占2个字节 如果是utf-8,一个汉字占3个字节 一般mysql,用的是utf-8,不过这个最好看一下。
不同的编码方式,所需的占用空间不同。latin1:1character=1byte, 1汉字=2character,也就是说一个字段定义成 varchar(200),则它可以存储100个汉字或者200个字母。
需要看数据库使用什么字符集?如果是rtf8,那么一个汉字需要3个字节。如果是GBK,它需要2个字节。从表名中选择*,其中length(NVL(field,'))=1orderbyfield 例如:如何确定具有多个不同长度的列中的数字的长度 如:I_CODE 从表名中选择I_CODE,其中length(I_CODE)=4。
Q2: mysql数据库一个汉字占几个字节?
如果是gbk,一个汉字占2个字节 如果是utf-8,一个汉字占3个字节 一般mysql,用的是utf-8,不过这个最好看一下。
因为对于汉字不同的字符集,在数据库占用的字节是不一样的。UTF-8字符集,一个汉字占三个字节,gbk字符集,一个汉字占两个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。所以在程序中根据表字段varchar的大小,保存或更新时作出必要的校验否则后台会报错。
简单来讲:mysql=1并且你的机器是64位的,同时你的操作系统也是64位的,使用了utf8编码,那么中文和英文是一样的。
不同的字符所占用的字节数是不同的,比如UTF8编码中,一个汉字可能占用3个字节,一个英文字母占用1个字节,如果将char(2)定义为UTF8编码,则最多可以存储两个字符,所以,可能需要更多的空间。总的来说,char(n)在MySQL中就是固定长度的字符串,占用固定的空间,需要考虑编码的问题。
具体还是要看版本的:0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
要看你的编码格式,utf-8占三字节,gb2312占二字节 比如你的格式是utf-8 那么varchar(1)的长度就是占用三字节。
Q3: MySQL的varchar最多能存放多少个字符
Varchar能够存储的理论值为65535个字符:字符在不同的字符集下可能占用多个字节。
该类型的最大长度取决于数据库和具体的设置。在MySQL 0.3及之前的版本中,VARCHAR 的最大长度是255。因此该类型的最大长度取决于数据库和具体的设置。在MySQL 0.3之后的版本中,VARCHAR 的最大长度是65535,但实际的最大长度取决于表的行格式和使用的字符集。
VARCHAR数据类型所支持的最大长度是255个字符。
mysql中varchar最多能存储65535个字节的数据。varchar 的最大长度受限于最大行长度(max row size,65535bytes)。65535并不是一个很精确的上限,可以继续缩小这个上限。65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度)、NULL标识位的累计。
MySQL 数据库的varchar类型在1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。
字段的限制在字段定义的时候有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。
Q4: MySQL的varchar定义长度是字节还是字符?
1、varchar定义的长度的单位是字符,哪怕是1个多字节字符也是1个字符,如中文和英文字母都被当作1个字符来对待。
2、及之后的版本,VARCHAR的单位是字符;1之前的版本,VARCHAR的单位是字节。
3、长度理解为2个字节,汉字和字母在MYSQL里长度是不一样的,varchar(2)保存的是两个字节。特别提醒一下,如果知道字段的长度,建议用CHAR类型优化速度,如性别字段,直接使用CHAR,不要用varchar。VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。
4、字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。c) 行长度限制 导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。
5、varchar (2000) 长度是字节 2000字节,放英文的话,2000个, 中文的话, 1000个。nvarchar(1000) 长度是字符。 就是 无论中文 / 英文 , 都 1000个。
6、存储方式不同 CHAR:CHAR是固定长度的字符类型,它会在存储时自动填充空格以达到指定的长度。例如,如果定义一个CHAR(10)类型的字段,并存储“Hello”,则会在后面填充6个空格,占用总共10个字节的存储空间。VARCHAR:VARCHAR是可变长度的字符类型,它只会存储实际使用的字符数。
Q5: mysql中varchar最多能存放多少个字符串字符?
1、Varchar能够存储的理论值为65535个字符:字符在不同的字符集下可能占用多个字节。
2、mysql中varchar最多能存储65535个字节的数据。varchar 的最大长度受限于最大行长度(max row size,65535bytes)。65535并不是一个很精确的上限,可以继续缩小这个上限。65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度)、NULL标识位的累计。
3、VARCHAR数据类型所支持的最大长度是255个字符。
4、该类型的最大长度取决于数据库和具体的设置。在MySQL 0.3及之前的版本中,VARCHAR 的最大长度是255。因此该类型的最大长度取决于数据库和具体的设置。在MySQL 0.3之后的版本中,VARCHAR 的最大长度是65535,但实际的最大长度取决于表的行格式和使用的字符集。
5、MySQL 数据库的varchar类型在1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。
6、mysql0版本以前,varchar()最大能定义255。0以上版本支百持65535字节长度,utf8编码下最多支持21843个字符度(不为空)。mysql0版本以前,varchar(2000)不正确,0以上版本正确。如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。
关于mysql汉字几个字符串和mysql字母占几个字符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






