先放官方文档:
https://dev.mysql.com/doc/refman/5.5/en/data-types.html
MySQL支持多种类型的SQL数据类型:数字类型,日期和时间类型,字符串(字符和字节)类型以及空间类型。
数字类型:https://dev.mysql.com/doc/refman/5.5/en/numeric-types.html
MySQL支持所有标准SQL数值数据类型。这些类型包括确切的数值数据类型(INTEGER
, SMALLINT
, DECIMAL
,和 NUMERIC
),以及该近似数值数据类型(FLOAT
, REAL
,和 DOUBLE PRECISION
)。关键字 INT
是 INTEGER
关键字DEC
, 关键字 FIXED
是同义词 DECIMAL
。MySQL将其 DOUBLE
视为DOUBLE PRECISION
(非标准扩展)的同义词 。 除非启用SQL模式,否则MySQL还将其视为(非标准变体) REAL
的同义词。 DOUBLE PRECISION
REAL_AS_FLOAT
该BIT
数据类型存储位值,并且被支撑为MyISAM
, MEMORY
, InnoDB
,和 NDBCLUSTER
表。
日期和时间类型:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html
日期和时间类型代表的时间值 DATE
, TIME
, DATETIME
, TIMESTAMP
,和 YEAR
。每个时间类型都有一系列有效值,以及当您指定MySQL无法表示的无效值时可以使用的“ 零 ”值。该TIMESTAMP
类型具有特殊的自动更新行为
字符串类型:https://dev.mysql.com/doc/refman/5.5/en/string-types.html
字符串类型CHAR
, VARCHAR
, BINARY
, VARBINARY
, BLOB
, TEXT
, ENUM
,和 SET
。
空间数据类型:https://dev.mysql.com/doc/refman/5.5/en/spatial-types.html
Open Geospatial Consortium发布了 OpenGIS®地理信息实施标准 - 简单功能访问 - 第2部分:SQL选项,该文档提出了几种扩展SQL RDBMS以支持空间数据的概念方法。该规范可从OGC网站 http://www.opengeospatial.org/standards/sfs获得。
遵循OGC规范,MySQL将空间扩展实现为具有几何类型环境的SQL的子集。该术语指的是使用一组几何类型扩展的SQL环境。几何值SQL列实现为具有几何类型的列。该规范描述了一组SQL几何类型,以及这些类型上用于创建和分析几何值的函数。
MySQL空间扩展支持地理特征的生成,存储和分析:
用于表示空间值的数据类型
用于操纵空间值的函数
空间索引可改善空间列的访问时间
空间数据类型和函数可用于 MyISAM
, InnoDB
, NDB
,和 ARCHIVE
表。对于索引空间列,MyISAM
支持两个 索引SPATIAL
和非SPATIAL
索引。其他存储引擎支持非SPATIAL
索引,如 第13.1.13节“CREATE INDEX语法”中所述。
一个地理特征是具有位置世上任何东西。功能可以是:
一个实体。例如,山,池塘,城市。
空间。例如,镇区,热带地区。
一个可定义的位置。例如,十字路口,作为两条街道相交的特定地方。