一、数值类型分类

MYSQL支持所有标准SQL中的数值类型,其中包括严格数值类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISON),并在此基础上扩展增加了TINYINT、MEDIUMINT、BIGINT这三种整型,并增加了BIT类型,用来存放位数据

其中整数类型包括:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT

浮点数类型包括:FLOAT、DOUBLE

定点数类型包括:DECIMAL(DEC)(M,D) 

位类型包括:BIT(M) 

补充:

BIT(M)    1-8字节      最小值BIT(1)              最大值BIT(64)

二、整数类型

在整数类型中,一共分位5种(tinyint,smallint,mediuint,int,bigint),在设置整数数值类型时,要确定好取值范围,选择合适的数值类型,避免出现Out of  range的情况,同时要加上数值的长度,int默认长度位11,int(11),可以和zerofill一起使用

create table t1 (id1 int);
alter table t1 modify id1 int zerofill;
insert into t1 values(1);
select * from t1;
id1
00000000001

如果插入大于宽度限制的值,不会影响数据的插入,但是数值的长度没有意义。

所有的整数类型都有一个可选的属性UNSIGEND(无符号),如果需要在字段里面保存非复数或者需要较大的上限值时,可以加入该字段,它的取值范围为:下限取0,上限值取原值的两倍。

整数类型的另一个属性:AUTO_INCREMENT。在需要产生唯一标识符或顺序时,可利用此属性。一般从1开始,每行增加1,NULL插入时也会自增,一个表中最多只能有一个AUTO_INCREMENT。对于定义该属性,应该同时定义为NOT NULL,并定义为PRIMARY KEY或定义UNIUQE键。

对于小数表示:mysql有两种表示:浮点数和定点数,浮点数包括float(单精度)和double(双精度),定点数只有一种decimal表示。定点数在mysql中以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。

小数都可以用类型名称后加(M,D),M-精度:一共显示M位(整数+小数)D-标度:保留小数点后D位,但是这种是非标准用法,建议不使用,建议使用默认精度,浮点数的默认值又实际的硬件和操作系统决定,decimal默认整数为10位,小数为0位。

插入小数时会按照实际精度值显示,超入精度会四舍五入,不会报错,而插入定点数。

BIT(位)类型:略

 

版权声明:本文为lijingang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lijingang/p/10606650.html