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

1. 概述

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

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

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

2. 什么是字符集和校对集

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

2.1.字符集

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

2.2.校对集

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

select * from user order by username;

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

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

评论已关闭

快乐地过是一天,不快乐地过也是一天,我为什么不快快乐乐地过每一天呢?

岂能尽随人愿,但求无愧我心。

在你内心深处,还有无穷的潜力,有一天当你回首看时,你就会知道这绝对是真的。

活在当下,别在怀念过去或者憧憬未来中浪费掉你现在的生活。

挫折时,要像大树一样,被砍了,还能再长;也要像杂草一样,虽让人践踏,但还能勇敢地活下去。