MySQL数据类型 - 为列选择正确的类型

为列选择正确的类型html

为了得到最佳存储,应该在全部状况下都尽可能使用最精确的类型。例如,若是整数列用于1到99999之间的值,则MEDIUMINT UNSIGNED是最佳类型。在表示全部必需值的类型中,此类型使用的存储量最少。mysql

全部针对DECIMAL列的基本计算(+、-、*、和/)都以65位十进制(以10为基数)的精度完成。sql

若是精度不过重要,或者若是速度是最重要的,DOUBLE类型可能就足够了。为了得到高精度,能够转换为存储在BIGINT中的定点类型。这使您可以使用64位整数执行全部计算,而后根据须要将结果转换回浮点值。数据库

使用来自其余数据库引擎的数据类型markdown

为了方便使用其余供应商为SQL实现编写的代码,MySQL映射了以下表所示的数据类型。这些映射使得从其余数据库系统向MySQL导入表定义变得更加容易。ide

其余供应商类型 MySQL类型
BOOL TINYINT
BOOLEAN TINYINT
CHARACTER VARYING(M) VARCHAR(M)
FIXED DECIMAL
FLOAT4 FLOAT
FLOAT8 DOUBLE
INT1 TINYINT
INT2 SMALLINT
INT3 MEDIUMINT
INT4 INT
INT8 BIGINT
LONG VARBINARY MEDIUMBLOB
LONG VARCHAR MEDIUMTEXT
LONG MEDIUMTEXT
MIDDLEINT MEDIUMINT
NUMERIC DECIMAL

数据类型映射发生在表建立时,以后原始类型规范将被丢弃。若是使用其余供应商使用的类型建立一个表,而后发出DESCRIBE tbl_name语句,那么MySQL将使用等效的MySQL类型报告表结构。例如:htm

官方文档:
https://dev.mysql.com/doc/refman/8.0/en/choosing-types.html
https://dev.mysql.com/doc/refman/8.0/en/other-vendor-data-types.html文档

相关文章
相关标签/搜索