MySQL笔记:数据类型

Posted arseneyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL笔记:数据类型相关的知识,希望对你有一定的参考价值。

一、整数

标准SQL中支持INTEGER和SMALLINT,mysql扩展了TINYINT、MEDIUMINT和BIGINT。

MySQL支持指定数据类型的显示宽度,例如INT(8)指定INT类型的显示宽度为8。

MySQL支持SQL标准中的BOOL和BOOLEAN,但会转换成TINYINT(1)。

 

二、浮点数和定点数

MySQL使用浮点数FLOAT、DOUBLE和定点数DECIMAL来表示小数。

MySQL支持指定浮点数和定点数的精度和标度,精度指数据的总长度,标度指小数点后的长度。例如DECIMAL(M,D)指定精度为M,标度为D。

DECIMAL的存储空间是根据其精度决定的,若未指定则默认为10位整数。

 

三、日期和时间

YEAR、DATE、TIME、DATETIME和TIMESTAMP表示日期和时间。

除TIMESTAMP外使用CURRENT_TIME或NOW()获取当前系统时间,TIMESTAMP则使用CURRENT_TIMESTAMP、NULL或不指定值来获取当前系统时间。

 

四、字符串

CHAR和VARCHAR类型均在创建时指定最大长度,例如CHAR(32)指定了该字符串的最大长度为32。VARCHAR可在最大长度内动态分配空间。

TEXT只能保存字符数据,包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。

ENUM和SET是预定义的字符串列表,其中ENUM列表中的字符串会按声明顺序编号。ENUM只能从列表中选择单值,SET可选择多值。

 

五、二进制

BINARY和BARBINARY类型均在创建时指定最大长度,例如BINARY(32)指定了该二进制数的最大长度为32。VARBINARY可在最大长度内动态分配空间。

BIT类型也在创建时指定最大长度,但不同的是BIT支持的最大长度为64。

BLOB、TINYBLOB、MEDIUMBLOB和LONGBLOB类型用于保存数据量很大的二进制数据,例如图片等。

以上是关于MySQL笔记:数据类型的主要内容,如果未能解决你的问题,请参考以下文章

MySQL学习笔记-数据类型与操作数据表

数据类型和运算符 MySQL学习笔记

MySQL笔记:数据类型

MySQL 基础数据类型优化(如何选择数据类型)

Mysql 数据库基础 学习笔记

《高性能MySQL》——Schema与数据类型优化(笔记)