MySQL基础篇(二)字符集以及校验规则

在MySQL基础篇(一)中,我们知道了如何创建数据库,这篇文章带大家了解创建的一些细节。

红色框:可省略,作用如果存在相同的数据库名称,就不会再创建,反之,创建。

蓝色框:COLLATE:指定数据库字符集的校验规则

CHARACTER SET:指定数据库采用的字符集

存储时,数据库会利用设置的字符集进行存储,读取时,必须采用对应的校验规则进行读取,否则可能会出错。

下面就带大家了解字符集和校验规则是如何设置以及字符集有什么影响。

创建时,没有指明字符集和校验规则,系统默认采用:字符集:utf8,校验规则:utf8_general_ci。

创建一个使用utf字符集,并带校验规则。

如何查看系统默认的字符集以及校验规则:

cpp 复制代码
show variables like 'character_set_database';//字符集
show variables like 'collation_database';//校验规则

如何查看数据库支持的字符集:

cpp 复制代码
show charset;

字符集主要是控制用什么语言。比如utf8就可以使用中文。

如何查看数据库支持的字符集校验规则:

cpp 复制代码
show collation;

校验规则对数据库的影响:

首先,我们需要了解校验规则的特性,utf8_general_ci(不区分大小写),utf8_bin(区分大小写)。

如何验证呢?

我们分别用上述校验规则创建数据库,进行存储数据,再将数据提取,看有没有区别。

那我们就查询单个字符,看区不区分大小写。

上面现象就是不同的库的校验集规则,表现出的不同形式。注意这是针对整个数据库的,同一个数据库中存的数据,都遵循这个数据库的字符集和校验规则。

相关推荐
Decay__6 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
笃行3507 小时前
AI数据库的库内四层结构,KingbaseES 产品拆解
数据库
我是大猴子8 小时前
redis
数据库·redis·缓存
苏宸啊11 小时前
MySQL(一)
数据库·mysql
2603_9696948511 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
这个DBA有点耶11 小时前
库内语义构建 vs 外挂向量库:业务语义缺失,才是RAG“胡说八道”的根源
数据库·mysql·aigc
kobe_OKOK_13 小时前
mysql 开启 binlog 日志
数据库·mysql
鸽芷咕13 小时前
KingbaseES 调参先看执行计划,参数是答案不是起点
数据库
这个DBA有点耶14 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范
老纪的技术唠嗑局16 小时前
把 seekdb 塞进 iOS App:让混合检索嵌入手机
数据库