文章目录
一、数据类型
1.数值类型–整数类型(整数、精准)
tinyint、smallint、mediumint、int、bigint
应用场景:人的年龄、考试成绩等等相关的信息都可以使用整数类型进行存储,那整数类型有这么多形式,我应该选择哪一个呢?
答:整数类型的选择主要取决于数值的范围。
比如存储中国人的人口信息,可以用INT类型也可以用BIGINT类型,但是在数据库设计原则中,不是越大越好,而是正好满足条件即可。
2.小数类型(浮点类型、定点类型)
① 浮点类型(近似值)
- FLOAT和DOUBLE
FLOAT
和DOUBLE
类型代表近似数字数据值。MySQL对于单精度值使用四个字节,对于双精度值使用八个字节。 FLOAT
单精度浮点数精确到约7位小数,DOUBLE
双精度浮点数精确到大约15位小数 。FLOAT
类型会随着数值的增大精度会减小。
举例说明
FLOAT(M,D),其中,M表示存储的有效位数,D代表小数点后面的位数;即整数位数+小数部分不能超过M值。
colum1 FLOAT(7,4)
上面例子中,如果你插入为999.00009到cloum1列,那么mysql在存储时会四舍五入变为999.0001插入。
DOUBLE(7,4) :DOUBLE类型的使用与FLOAT类型完全一致,唯一的区别就是占用字节不同且浮点数的精度有所不同。
② 定点类型(精确值)
- DECIMAL和NUMERIC
DECIMAL
和NUMERIC
类型的存储精确的数值数据。使用这些类型时,重要的是要保留精确的精度,例如使用货币数据。在MySQL中, NUMERIC
被作为DECIMAL
来应用,所以下面的举例DECIMAL
同样适用于 NUMERIC
。
- 举例说明
salary DECIMAL(5,