47 张图带你 MySQL 进阶!!! (4)

47 张图带你 MySQL 进阶!!!

然后分别插入两条数据

47 张图带你 MySQL 进阶!!!

然后执行查询,可以看到查询出来的两条数据执行的舍入不同

47 张图带你 MySQL 进阶!!!

为了清晰的看清楚浮点数与定点数的精度问题,再来看一个例子

47 张图带你 MySQL 进阶!!!

先修改 cxuan006 的两个字段为相同的长度和小数位数

然后插入两条数据

47 张图带你 MySQL 进阶!!!

执行查询操作,可以发现,浮点数相较于定点数来说,会产生误差

47 张图带你 MySQL 进阶!!!

日期类型选择

在 MySQL 中,用来表示日期类型的有 DATE、TIME、DATETIME、TIMESTAMP,在

这篇文中介绍过了日期类型的区别,我们这里就不再阐述了。下面主要介绍一下选择

TIMESTAMP 和时区相关,更能反映当前时间,如果记录的日期需要让不同时区的人使用,最好使用 TIMESTAMP。

DATE 用于表示年月日,如果实际应用值需要保存年月日的话就可以使用 DATE。

TIME 用于表示时分秒,如果实际应用值需要保存时分秒的话就可以使用 TIME。

YEAR 用于表示年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默认是4位。如果实际应用只保存年份,那么用 1 bytes 保存 YEAR 类型完全可以。不但能够节约存储空间,还能提高表的操作效率。

MySQL 字符集

下面来认识一下 MySQL 字符集,简单来说字符集就是一套文字符号和编码、比较规则的集合。1960 年美国标准化组织 ANSI 发布了第一个计算机字符集,就是著名的 ASCII(American Standard Code for Information Interchange) 。自从 ASCII 编码后,每个国家、国际组织都研究了一套自己的字符集,比如 ISO-8859-1、GBK 等。

但是每个国家都使用自己的字符集为移植性带来了很大的困难。所以,为了统一字符编码,国际标准化组织(ISO) 指定了统一的字符标准 - Unicode 编码,它容纳了几乎所有的字符编码。下面是一些常见的字符编码

字符集 是否定长 编码方式
ASCII     单字节 7 位编码  
ISO-8859-1     单字节 8 位编码  
GBK     双字节编码  
UTF-8     1 - 4 字节编码  
UTF-16     2 字节或 4 字节编码  
UTF-32     4 字节编码  

对数据库来说,字符集是很重要的,因为数据库存储的数据大多数都是各种文字,字符集对数据库的存储、性能、系统的移植来说都非常重要。

MySQL 支持多种字符集,可以使用 show character set; 来查看所有可用的字符集

47 张图带你 MySQL 进阶!!!

或者使用

select character_set_name, default_collate_name, description, maxlen from information_schema.character_sets;

来查看。

使用 information_schema.character_set 来查看字符集和校对规则。

索引的设计和使用

我们上面介绍到了索引的几种类型并对不同的索引类型做了阐述,阐明了优缺点等等,下面我们从设计角度来聊一下索引,关于索引,你必须要知道的一点就是:索引是数据库用来提高性能的最常用工具

索引概述

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssjff.html