灵魂的一般是学识,另一半是骨子里的涵养!

    

MySQL中的字符集和校对集是什么?

无论Web网页还是手机APP,通常会用到数据库,而我自己最喜欢的就是MySQL,对于个人开发者来说,MySQL给我的印象就是:开源免费,简单快捷。那么我们在创建一个MySQL数据库的时候声明的字符集和校对集是什么?它有什么用?
mysql171214.gif

以下是个人理解,如有疑问和异议欢迎留言评论:

假如我们需要创建一个用户数据库,我们通常会使用以下代码:

CREATE DATABASE IF NOT EXISTS `user` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

1.字符集

我们都知道计算机底层保存数据都是以二进制代码来进行保存的,default charset关键字就声明了user库默认使用utf8编码规则来编码的,也就是说我们user库中的数据会以utf8编码规则来保存。至于什么是utf8,我们可以不必了解细节了,它就是一种通用的编码规则。

2.校对集

MySQL中在创建数据库时使用collate关键字来声明校对集,从字面意思来看,就是用来比较的。声明utf8_general_ci校对集之后数据库系统就会使用utf8_general_ci这种校对方式对数据进行比较,具体是怎么实现的,我们也可以不必了解。例如:我们查询的数据需要根据用户名进行排序,如下代码:

select * from user order by username;

那么数据库系统就会根据utf8_general_ci这种校对规则进行数据比较。

尊重作者知识版权,转载请声明出处!

本文原创首发自微信订阅号:极客开发者up,禁止转载!

评论已关闭

  关于博主

欢迎关注博主的微信订阅号 “极客开发者up” ,第一时间接收文章更新!

  近期评论

  • 暂无评论

离别时的伤感,时候却很难说出口,哪怕是短暂的分离!—— by 小宇

人生应该树立目标,否则你的精力会白白浪费。

山涧的泉水经过一路曲折,才唱出一支美妙的歌。

如若不是为了一个人,谁肯枯守一座城。城市和爱情,总是有着这样那样的关系。我们会因为一个人,去到那座城,因为那是一座爱的城;我们也会因为一个人,离开一座城,那是一座绝望的伤城。

常求有利别人,不求有利自己。