技术开发 频道

MySQL基础:数据类型及列类型

【IT168 技术文档】

    2. MySQL的列(字段)类型

    数据库中的每个表都是由一个或多个列(字段)构成的。在用CREATE TABLE语句创建一个表时,要为每列(字段)指定一个类型。列(字段)的类型比数据类型更为细化,它精确地描述了给定表列(字段)可能包含的值的种类,如是否带小数、是否文字很多。

    2.1数值列类型

    MySQL有整数和浮点数值的列类型,如表1所示。整数列类型可以有符号也可无符号。有一种特殊的属性允许整数列值自动生成,这对需要唯一序列或标识号的应用系统来说是非常有用的。

类型

说明

TINYINT 非常小的整数
SMALLINT 较小整数
MEDIUMINT 中等大小整数
INT 标准整数
BIGINT 较大整数
FLOAT 单精度浮点数
DOUBLE 双精度浮点数
DECIMAL 一个串的浮点数

表1:数值列类型

    每种数值类型的名称和取值范围如表2所示。

类型说明

取值范围

TINYINT[(M)] 有符号值:-128 到127(- 27 到27 - 1)
无符号值:0到255(0 到28 - 1)
SMALLINT[(M)] 有符号值:-32768 到32767(- 215 到215 - 1)
无符号值:0到65535(0 到21 6 - 1)
MEDIUMINT[(M)] 有符号值:-8388608 到8388607(- 22 3 到22 3 - 1 )
无符号值:0到16777215(0 到22 4 - 1)
INT[(M)] 有符号值:-2147683648 到2147683647(- 231 到231- 1)
无符号值:0到4294967295(0 到232 - 1)
BIGINT[(M)] 有符号值:-9223372036854775808 到9223373036854775807(- 263到263-1)

无符号值:0到18446744073709551615(0到264 – 1)
FLOAT[(M, D)] 最小非零值:±1.175494351E - 38
DOUBLE[(M,D)] 最小非零值:±2.2250738585072014E - 308
DECIMAL (M, D) 可变;其值的范围依赖于M 和D


表2:数值列类型的取值范围

    各种类型值所需的存储量如表3所示。

类型说明

存储需求

TINYINT[(M)] 1字节
SMALLINT[(M)] 2字节
MEDIUMINT[(M)] 3字节
INT[(M)] 4字节
BIGINT[(M)] 8字节
FLOAT[(M, D)] 4字节
DOUBLE[(M, D)] 8字节
DECIMAL (M, D) M字节(MySQL < 3.23),M+2字节(MySQL > 3.23 )

表3:数值列类型的存储需求



0
相关文章