
MySql 数据库的列类型(字段类型)
MySQL 数据库的表是一个二维表,由一个或多个数据列构成。
每个数据列都有它的特定类型,该类型决定了 MySQL 如何看待该列数据,我们可以把整
型数值存放到字符类型的列中,MySQL 则会把它看成字符串来处理。
MySQL 中的列类型有三种:数值类、字符串类和日期/时间类。
从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。
下面对各种列类型进行详细介绍。
数值类的数据列类型
数值型的列类型包括整型和浮点型两大类。
TINYINT:1 字节X非常小的正整数,带符号:-128~127,不带符号:0~255
SMALLINT:2 字节X小整数,带符号:-32768~32767,不带符号:0~65535
MEDIUMINT:3 字节X中等大小的整数,带符号:-8388608~8388607,不带符号:
0~16777215
INT:4 字节X标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295
BIGINT:8 字节X大整数,带符号:-9223372036854775808~9233372036854775807,不带符
号:0~18446744073709551615
FLOAT:4 字节X单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-
3.402823466E+38
DOUBLE:8 字节X双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:
+-1.7976931348623157E+308
DECIMAL:M+2 字节X以字符串形式表示的浮点数,它的取值范围可变,由 M 和 D 的值
决定。X
整型数据列类型
MySQL 有五种整型数据列类型,即 TINYINT,SMALLINT,MEDIUMINT,INT 和
BIGINT。它们之间的区别是取值范围不同,存储空间也各不相同。
在整型数据列后加上 UNSIGNED 属性可以禁止负数,取值从 0 开始。
声明整型数据列时,我们可以为它指定个显示宽度 M(1~255),如 INT(5),指定显示宽度为
5 个字符,如果没有给它指定显示宽度,MySQL 会为它指定一个默认值。显示宽度只用于显
示,并不能限制取值范围和占用空间,如:INT(3)会占用 4 个字节的存储空间,并且允许
的最大值也不会是 999,而是 INT 整型所允许的最大值。
浮点型数据列类型
MySQL 有三种浮点型数据列类型,分别是:FLOAT,DOUBLE 和 DECIMAL。
浮点类数据类型有一个最大可表示值和一个最小非零可表示值,最小非零可表示值决定了
该类型的精确度。