For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
字符串是程序员在学习软件开发的时候需要重点掌握的一个编程知识点,下面我们就通过案例分析来了解一下,MySQL数据库字符串用法与类型分析。
在Mysql数据中,字符串的大小比较本质上是通过下面两种方式进行比较,简而言之字符串的大小比较是依赖字符集和比较规则来进行比较的。
将字符统一转为大写或者小写再进行二进制的比较
或者大小写进行不同大小的编码规则编码
简述和掌握几个比较常用的字符集:
ASCII字符集:收录128个字符,
ISO8859-1字符集:在ASCII字符集基础上进行扩展,共256个字符,字符集叫做latin1,也是Mysql5.7之前默认的字符集(Mysql8.0之后默认字符集为utf8mb4)
GB2312:先需要注意的是不仅仅只有“汉字”哦,比较特殊的是采用了变长编码规则,变长编码规则值得是根据字符串的内容进行不同的字符集进行编码,比如'啊A'中‘啊’使用两个字节编码,'A'因为可以使用ASCII字符集表示所以可以只使用一个字节进行编码
GBK字符集:对于GB2312进行字符集的扩展,其他和GB2312编码规则一致
UTF8字符集:UTF-8规定按照1-4个字节的变长编码方式进行编码,后UTF8和gbk一样也兼容了ASCII的字符集
提示:这里有一个思考题目那就UTF-8mb3和UTF8-mb4的字符集有什么区别?这里也隐藏了一个历史遗留问题带来的坑,如果主要使用Mysql数据库这个坑有必要仔细了解一下,在上篇的文章后给出答案,这里不再赘述。
查看字符集命令:showcharset;,比如:showcharsetlike'big%';
比较规则查看:showcollation[like匹配模式],比如showcollationlike'utf_%';
字符集和比较规则的级别分为四种:
服务器级别:可以通过配置文件进行设置,但是启动之后无法修改服务器级别的字符集或者比较规则。
数据库级别:如果没有指定数据库级别比较规则或者字符集,则默认使用服务器的。
表级别:表级别在默认的情况下使用数据库级别的字符集和比较规则。
列级别:列级别规则使用比较少,通常在建表的时候指定,但是通常不建议同一个表使用不同字符集的列。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。