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数据类型,可帮助您确定创建表时应为列使用的数据类型。

