MySQL数据类型

时间:2019-11-20 08:52:10  来源:igfitidea点击:

简介:在本教程中,您将学习MySQL数据类型以及如何在MySQL中设计数据库时有效地使用它们。

数据库表包含具有特定数据类型(例如数字或字符串)的多列。
MySQL除了提供数字和字符串之外,还提供更多的数据类型。
MySQL中的每种数据类型可以由以下特征确定:

  • 它代表的价值类型。

  • 占用的空间以及值是固定长度还是可变长度。

  • 数据类型的值可以索引或不索引。

  • MySQL如何比较特定数据类型的值。

下载MySQL数据类型概述

MySQL数值数据类型

在MySQL中,您可以找到所有SQL标准数字类型,包括精确数字数据类型和近似数字数据类型,包括整数,定点数和浮点数。
此外,MySQL还具有BIT数据类型用于存储位值。
除BIT类型外,数字类型可以是有符号的或无符号的。

下表显示了MySQL中数字类型的摘要:

Numeric TypesDescription
TINYINTA very small integer
SMALLINTA small integer
MEDIUMINTA medium-sized integer
INTA standard integer
BIGINTA large integer
DECIMALA fixed-point number
FLOATA single-precision floating point number
DOUBLEA double-precision floating point number
BITA bit field

MySQL布尔数据类型

MySQL没有内置的BOOLEAN或BOOL数据类型。
为了表示布尔值,MySQL使用最小的整数类型TINYINT(1)。
换句话说,BOOLEAN和BOOL是TINYINT(1)的同义词。

MySQL String数据类型

在MySQL中,字符串可以包含从纯文本到二进制数据(例如图像或文件)的任何内容。
可以使用LIKE运算符,正则表达式和全文本搜索根据模式匹配来比较和搜索字符串。

下表显示了MySQL中的字符串数据类型:

String TypesDescription
CHARA fixed-length nonbinary (character) string
VARCHARA variable-length non-binary string
BINARYA fixed-length binary string
VARBINARYA variable-length binary string
TINYBLOBA very small BLOB (binary large object)
BLOBA small BLOB
MEDIUMBLOBA medium-sized BLOB
LONGBLOBA large BLOB
TINYTEXTA very small non-binary string
TEXTA small non-binary string
MEDIUMTEXTA medium-sized non-binary string
LONGTEXTA large non-binary string
ENUMAn enumeration; each column value may be assigned one enumeration member
SETA set; each column value may be assigned zero or more SET members

MySQL日期和时间数据类型

MySQL提供日期和时间的类型以及日期和时间的组合。
此外,MySQL支持timestamp数据类型以跟踪表中一行的更改。
如果只想存储没有日期和月份的年份,则可以使用YEAR数据类型。

下表说明了MySQL日期和时间数据类型:

Date and Time TypesDescription
DATEA date value in CCYY-MM-DD format
TIMEA time value in hh:mm:ss format
DATETIMEA date and time value inCCYY-MM-DD hh:mm:ssformat
TIMESTAMPA timestamp value in CCYY-MM-DD hh:mm:ss format
YEARA year value in CCYY or YY format

MySQL空间数据类型

MySQL支持许多包含各种几何和地理值的空间数据类型,如下表所示:

Spatial Data TypesDescription
GEOMETRYA spatial value of any type
POINTA point (a pair of X-Y coordinates)
LINESTRINGA curve (one or more POINT values)
POLYGONA polygon
GEOMETRYCOLLECTIONA collection of GEOMETRYvalues
MULTILINESTRINGA collection of LINESTRINGvalues
MULTIPOINTA collection of POINTvalues
MULTIPOLYGONA collection of POLYGONvalues

JSON数据类型

自版本5.7.8起,MySQL支持本机JSON数据类型,使您可以更有效地存储和管理JSON文档。
本地JSON数据类型可自动验证JSON文档和最佳存储格式。

在本教程中,您学习了各种MySQL数据类型,可帮助您确定创建表时应为列使用的数据类型。