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 表视情况而定,也尽量简短为宜,命名应使用
小写
  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

보고.싶다

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值