MYSQL
第一章
MySQL
库表操作
1.3. MySQL
字符集
MySQL字符集包括字符集(
CHARACTER
)和排序规则
(
校对规则
)
(
COLLATION
)两个概念
1.3.1.
字符集
Character Set(
字符集
)
:是字符的编码规则,规定了字符在数据库中的存储格式,比如占多少
空间,支持 哪些字符等
不同的字符集有不同的编码规则,在运维和使用
MySQL
数据库中,选取合适的字符集非常重
要,如果选择不恰当,轻则影响数据库性能,严重的可能导致数据存储乱码
mysql 5.7
的默认字符集是
latin1
,而
8.0
中是
utf8mb4
;
mysql8
的库表创建以及程序中尽可能使用
utf8mb4
字符集(可支持
emoji
)
mysql
中的
utf8
字符集是
utf8mb3
字符集的别名,避免使用
MySQL数据库在开发运维中,字符集选用规则如下:
如果系统开发面向国外业务,需要处理不同国家、不同语言,则应该选择
utf-8
或者
utf8mb4
如果只需要支持中文,没有国外业务,则为了性能考虑,可以采用
GBK
1.3.2.
字符序
字符序就是字符排序的规则集合
如:使用
A>B>a>b
的规则来进行排序或者另一种规则
a>b>A>B
顺序排序
字符序主要对字符的排序有影响
1.3.3.
查看
MySQL
字符集
查看所有支持的字符集
查看指定字符集
1.3.4.
查看
MySQL
字符序
MySQL
字符序命名规则:
以字符序对应的字符集名称开头
以国家名居中(或以
general
居中)
后缀:
bin
:二进制;
ci
:大小写不敏感;
cs
:大小写敏感;
ai:口音(Accent
)不敏感;
as
:口音敏感;
ks
:假名(
Kanatype
)敏感
查看支持的字符序
指定条件查询
1.3.5.
查看当前字符集的设置
通过变量查看
变量含义
1.3.6. utf8
和
utf8mb4
的区别
1:MySQL
在
5.5.3
之后增加了这个
utf8mb4
的编码,
mb4
就是
most bytes 4
的意思,专门用来兼容
四字节的unicode。好在utf8mb4是
utf8
的超集,除了将编码改为
utf8mb4
外不需要做其他转换。当
然,为了节省 空间,一般情况下使用utf8也就够了。
2:既然
utf8
能够存下大部分中文汉字,那为什么还要使用
utf8mb4
呢? 原来
mysql
支持的
utf8
编码
最大字符长度为 3 字节,如果遇到 4
字节的宽字符就会插入异常了。三个字节的
UTF-8
最大能编
码的 Unicode 字符是 0xffff
,也就是
Unicode
中的基本多文种平面
(BMP)
。也就是说,任何不在基
本多文本平面的Unicode字符,都无法使用 Mysql 的
utf8
字符集存储。包括
Emoji
表情
(Emoji
是
一种特殊的 Unicode 编码,常见于 ios
和
android
手机上
)
,和很多不常用的汉字,以及任何新增
的 Unicode 字符,如表情等等(utf8的缺点)
。
3:因此在8.0
之后,建议大家使用
utf8mb4
这种编码。
1.4.
数据库对象
1.4.1.
组成
1.4.2.
数据库对象的命名规则
1:命名使用具有意义的英文词汇,词汇中间以下划线分隔
2:名称由字母、数字、#
、下划线、
$
组成,必须以英文字母开头
3:不要使用
MySQL
的保留字
4:所有数据库对象使用小写字母,实际上
MySQL
中是可以设置大小写是否敏感的,为了保证统一
性应使用小写表示
5:在同一个数据库对象集合内对象不能同名
1.4.3.
生产中对象命名规范
数据库:
数据库命名尽量不超过
30
个字符
数据库命名一般为项目名称
+
代表库含义的简写,比如
IM
项目的工作流数据库,可以是
im_flow
命名应使用小写
表:
1:常规表:以
t_
开头,
t
代表
table
的意思,命名规则即
t +
模块(包含模块含义的简写)
+
表(包
含表含义的简写),比如用户模块的教育信息表:t_user_eduinfo
2:临时表:
temp
前缀
+
模块
+
表
+
日期后缀:
temp_user_eduinfo_20240520
3:备份表(用于保存和归档历史数据或者作为灾备恢复的数据)命名规则,
bak
前缀
+
模块
+
表
+
日
期后缀:bak_user_eduinfo_20231219
4:同一个模块的表尽可能使用相同的前缀,表名称尽可能表达含义
5:多个单词以下划线
_
分隔
6:常规表表名尽量不超过
30
个字符,
temp
表和
bak
表视情况而定,也尽量简短为宜,命名应使用
小写
原文地址:https://blog.csdn.net/2302_81167603/article/details/140587956
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!