MySQL数据类型
简介:在本教程中,您将学习MySQL数据类型以及如何在MySQL中设计数据库时有效地使用它们。
数据库表包含具有特定数据类型(例如数字或字符串)的多列。
MySQL除了提供数字和字符串之外,还提供更多的数据类型。
MySQL中的每种数据类型可以由以下特征确定:
它代表的价值类型。
占用的空间以及值是固定长度还是可变长度。
数据类型的值可以索引或不索引。
MySQL如何比较特定数据类型的值。
下载MySQL数据类型概述
MySQL数值数据类型
在MySQL中,您可以找到所有SQL标准数字类型,包括精确数字数据类型和近似数字数据类型,包括整数,定点数和浮点数。
此外,MySQL还具有BIT数据类型用于存储位值。
除BIT类型外,数字类型可以是有符号的或无符号的。
下表显示了MySQL中数字类型的摘要:
Numeric Types | Description |
---|---|
TINYINT | A very small integer |
SMALLINT | A small integer |
MEDIUMINT | A medium-sized integer |
INT | A standard integer |
BIGINT | A large integer |
DECIMAL | A fixed-point number |
FLOAT | A single-precision floating point number |
DOUBLE | A double-precision floating point number |
BIT | A bit field |
MySQL布尔数据类型
MySQL没有内置的BOOLEAN或BOOL数据类型。
为了表示布尔值,MySQL使用最小的整数类型TINYINT(1)。
换句话说,BOOLEAN和BOOL是TINYINT(1)的同义词。
MySQL String数据类型
在MySQL中,字符串可以包含从纯文本到二进制数据(例如图像或文件)的任何内容。
可以使用LIKE运算符,正则表达式和全文本搜索根据模式匹配来比较和搜索字符串。
下表显示了MySQL中的字符串数据类型:
String Types | Description |
---|---|
CHAR | A fixed-length nonbinary (character) string |
VARCHAR | A variable-length non-binary string |
BINARY | A fixed-length binary string |
VARBINARY | A variable-length binary string |
TINYBLOB | A very small BLOB (binary large object) |
BLOB | A small BLOB |
MEDIUMBLOB | A medium-sized BLOB |
LONGBLOB | A large BLOB |
TINYTEXT | A very small non-binary string |
TEXT | A small non-binary string |
MEDIUMTEXT | A medium-sized non-binary string |
LONGTEXT | A large non-binary string |
ENUM | An enumeration; each column value may be assigned one enumeration member |
SET | A set; each column value may be assigned zero or more SET members |
MySQL日期和时间数据类型
MySQL提供日期和时间的类型以及日期和时间的组合。
此外,MySQL支持timestamp数据类型以跟踪表中一行的更改。
如果只想存储没有日期和月份的年份,则可以使用YEAR数据类型。
下表说明了MySQL日期和时间数据类型:
Date and Time Types | Description |
---|---|
DATE | A date value in CCYY-MM-DD format |
TIME | A time value in hh:mm:ss format |
DATETIME | A date and time value inCCYY-MM-DD hh:mm:ssformat |
TIMESTAMP | A timestamp value in CCYY-MM-DD hh:mm:ss format |
YEAR | A year value in CCYY or YY format |
MySQL空间数据类型
MySQL支持许多包含各种几何和地理值的空间数据类型,如下表所示:
Spatial Data Types | Description |
---|---|
GEOMETRY | A spatial value of any type |
POINT | A point (a pair of X-Y coordinates) |
LINESTRING | A curve (one or more POINT values) |
POLYGON | A polygon |
GEOMETRYCOLLECTION | A collection of GEOMETRYvalues |
MULTILINESTRING | A collection of LINESTRINGvalues |
MULTIPOINT | A collection of POINTvalues |
MULTIPOLYGON | A collection of POLYGONvalues |
JSON数据类型
自版本5.7.8起,MySQL支持本机JSON数据类型,使您可以更有效地存储和管理JSON文档。
本地JSON数据类型可自动验证JSON文档和最佳存储格式。
在本教程中,您学习了各种MySQL数据类型,可帮助您确定创建表时应为列使用的数据类型。