`
a137268431
  • 浏览: 145926 次
文章分类
社区版块
存档分类
最新评论

mysql char(4)指的是四个字符,还是4个字节

 
阅读更多
4个字符

字符串的长度:
长度的单位为字符。一个多字节字符算作一个单字符。

MySQL字符串函数:
对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。

也就是说:
对于一个汉字和一个字母都是一个字符。<wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">遵循CHAR和VARCHAR定义规范。</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">也与数据库本身设置的字符集有关。</span><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">mysql的char和varchar字段不区分unicode</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">还是别的什么编码,统统按照ascii来存,</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">所以一个汉字占用2个字节。</span><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">CHAR和VARCHAR类型类似,</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">但它们保存和检索的方式不同。</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">它们的最大长度和是否尾部空格被保留等方面也不同。</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">在存储或检索过程中不进行大小写转换。</span><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">CHAR和VARCHAR类型声明的长度表示你想要保存的最大字</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">符数。例如,CHAR(30)可以占用30个字符。</span><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">CHAR列的长度固定为创建表时声明的长度。</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">长度可以为从0到255的任何值。当保存CHAR值时,</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">在它们的右边填充空格以达到指定的长度。当检索到CHAR值时,</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。</span><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><br style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">VARCHAR列中的值为可变长字符串。</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">长度可以指定为0到65,535之间的值。(</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">VARCHAR的最大有效长度由最大行大小和使用的字符集确定。</span><wbr style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px"><span style="color:rgb(102,102,102); font-family:宋体; font-size:14px; line-height:24px">整体最大长度是65,532字节)。</span> </wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
评论

相关推荐

    mysql获取字符串长度函数(CHAR_LENGTH)

    length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()...

    MYSQL中 char 和 varchar的区别

    CHAR和VARCHAR类型相似,差别主要在存储,尾随空格和检索方式上。 CHAR和VARCHAR相同的是:CHAR和VARCHAR都指定了字符长度...长度可以指定为0到255个字符(例如utf8mb4: 0-255*4个字节)之间的值当使用CHAR存储字符时,

    MYSQL安装包官方试用版

    每个9位数的倍数需要4个字节,并且“剩余的”位需要4个字节的一部分。下表给出了超出位数的存储需求: 剩余的 字节 位数 数目 0 0 1 1 2 1 3 2 4 2 5 3 6 3 7 4 8 4 9 4 ...

    mysql函数大全,mysql

    CHAR()将每个参数N理解为一个整数,其返回值为一个包含这些整数的代码值所给出的字符的字符串 show variables like '%char%' 查看 MySQL 数据库服务器和数据库字符集 show table status from db显示数据库中表的信息...

    varChar和Char之间的区别?

    3.char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节; 4.一般用 char 类型的 存放 固定的数据; 5.两者的存储...

    MYSQL_MSS_ORACLE函数

    -&gt; 4注意,对于多字节字符,其CHAR_LENGTH()仅计算一次. 10、LOCATE、POSITION、LOCATE LOCATE(substr,str) POSITION(substr IN str) 返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,...

    MySql 5.1 参考手册.chm

    多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器...

    大厂喜欢问的面试题50道

    浮点数以8位精度存储在FLOAT中,并且有四个字节。   浮点数存储在DOUBLE中,精度为18位,有八个字节。  5、区分CHAR_LENGTH和LENGTH?CHAR_LENGTH是字符数,而LENGTH是字节数。Latin字符的这两个数据是相同的...

    SQL数据类型和范围(SQLServer,MySql,Access)

    最多 4,000 个字符。 nvarchar(n) 可变长度的 Unicode 数据。最多 4,000 个字符。 nvarchar(max) 可变长度的 Unicode 数据。最多 536,870,912 个字符。 ntext 可变长度的 Unicode 数据。最多 2GB 字符数据...

    MYSQL

    9.1.1 用于数据和排序的字符集 9.1.2 增加一个新的字符集 9.1.3 多字节字符支持 9.2 更新日志 9.3 MySQL数据库表可以有多大? 9.4 MySQL数据库表类型 10 从 MySQL 得到最大的性能 ...

    MYSQL_MSS_ORACLE函数使用

    如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code)) [*256+third byte ASCII code...]返回字符的ASCII代码值来返回多字节字符代码.如果最左面的字符...

    MySQL中字段类型char、varchar和text的区别

    在MySQL中,char、varchar和text类型的字段都可以用来存储字符类型的数据,char、varchar都可以指定最大的字符长度,但text不可以。 它们的存储方式和数据的检索方式也都不一样。 数据的检索效率是:char &gt; varchar ...

    MySQL 5.1中文手冊

    多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器...

    mysql首字母拼音搜索title

    #判断左端首个字符是多字节还是单字节字符,要是多字节则认为是汉字且作以下拼音获取,要是单字节则不处理。如果是多字节字符但是不在对应的编码范围之内,即对应的不是大写字母则也不做处理,这样数字或者特殊字符...

    Mysql数据库设计.pdf

    DECIMAL M字节 ⼀个串的浮点数 有符号值: CHAR VARCHAR TINYBLOB BLOB MEDIUMBLOB LONGBLOB TINYTEXT TEXT MEDIUMTEXT LONGTEXT ENUM SET ⽇期与时间类型格式 DATE "YYYY-MM-DD" TIME "hh:mm:ss" DATETIME "YYYY-...

    MySQL中文参考手册.chm

    9.1.1 用于数据和排序的字符集 9.1.2 增加一个新的字符集 9.1.3 多字节字符支持 9.2 更新日志 9.3 MySQL数据库表可以有多大? 9.4 MySQL数据库表类型 10 从 MySQL 得到最大的...

    MySQL 5.1参考手册

    多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器...

    MySQL 5.1官方简体中文参考手册

    多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器...

    MySQL 5.1参考手册中文版

    多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同...

    MySQL 5.1参考手册 (中文版)

    多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器...

Global site tag (gtag.js) - Google Analytics