MySQL数据库数据类型

数据类型

数据表在创建时,需为每个字段选择数据类型,而数据类型的选择则决定着数据的存储格式,有效范围和对应的限制

mysql提供了多种数据类型,主要分为3类

数值类型

字符串类型

日期与时间类型

1.数值类型

MySql提供了很多数值类型,大体分为整数类型和浮点类型

整数类型根据取值范围分为int,smallint等,

浮点类型又分为float,declmal等。

decimal类型的有效取值范围是有M和D决定。其中,M和D决定。其中,M表示数据长度,D表示小数点后的长度。例如,数据类型设为 DECIMAL(4,1),将 3.1415926插入到数据库后,显示的结果为 3.1。

字符串类型

项目开发时,需要存储的数据多数是字符串格式的,因此 MySQL 提供了许多用于存储字符串的数据类型。

BLOB和TEXT都是用于存储大量数据的,但二者的区别在于,对于存储的数据进行排序和比较时,BLOB是区分大小写的,而TEXT是不区分大小写的

日期与时间类型

为方便在数据库中存储日期和时间,MySQL 提供了几种相关的数据类型,这些数据类型可以根据实际开发灵活选择。

2)存储类型

在数据库中,数据表设计的是否合理直接影响着数据库的功效,而在设计数据表时存储引擎的选择,则决定着数据表具有哪些功能。接下来将对 MySQL 常用存储引擎及其作用进行介绍。

InnoDB 存储引擎

MyISAM 存储引擎

MEMORY 存储引擎

ARCHIVE 存储引擎

InnoDB 引擎

InnoDB 存储引擎自 MySQL 5.5 版本起被指定为默认的存储引擎,用于完成事务、回滚、崩溃修复和多版本并发控制的事务安全处理。同时也是 MySQL中第一个提供外键约束的表引擎,尤其对事务处理的能力,是 MySQL 其他存储引擎所无法与之比拟的。

InnoDB 的优势在于提供了良好的事务管理、崩溃修复能力和并发控制。

MyISAM 存储引擎

MyISAM 存储引擎是基于 ISAM 存储引擎发展起来的,它不仅解决了 ISAM的很多不足,还增加了很多有用的扩展。

其中,对于使用 MyISAM 存储引擎的数据表,会被存储成3个文件,文件名与表名相同,文件扩展名分别为 frm、myd 和 myi。

在这里插入图片描述

相比 InnoDB ,MyISAM 的优点是处理速度快;缺点是不支持事务处理等

MEMORY 存储引擎

MEMORY存储引擎,是MySQL中的一类特殊的存储引擎。在MEMORY存储引擎的表中,所有数据都保存在内存中,因此数据的处理速度快,但不能持久保存(程序出错或关机时会丢失数据),而且不能存储太大的数据。对于需要很快的读写速度,但数据量小、不需要持久保存的数据来说,MEMORY存储引擎是一个理想的选择。

ARCHIVE 存储类型

ARCHIVE 存储引擎适合保存数量庞大、长期维护但很少被访问的数据。对于使用 ARCHIVE 存储引擎的数据表,数据存储时会利用 zlib 压缩库进行压缩,在记录被请求时会实时进行解压。需要注意的是,ARCHIVE 存储引擎仅仅支持查询和插入操作,且由于不支持数据索引,查询效率比较低。

你可能感兴趣的:(MySQL数据库数据类型)