MySQL:数值类型

2018-06-17 23:44:36来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

列类型:

1. 数值型

  • 整数类型
类型 占用字节数 最小值(有符号/无符号) 最大值(有符号/无符号)
TINYINT 1 -128 / 0 127 / 255
SMALLINT 2 -32768 / 0 32767 / 65535
MEDIUMINT 3 -2147483648 / 0 214748647 / 4294967295
INT 4 -2147483648 / 0 2147483647 / 4294967295
BIGINT 8 -9223372036854775808 / 0 9223372036854775807 / 18446744073709551615

 

 

 

 

 

tip: 在定义时,可使用unsigned标识没有符号,若不写就认为是有符号。

下图为在表tb_int中,插入在正确范围内的数值的事例:

当试图插入超范围的数值时,会出现下图中的错误提示:

除了可以定义以上数值类型,还可以定义显示宽度(通过规定显示宽度,达到统一显示的目的)。

格式: 类型(M)     M表示显示的最小宽度

该属性通常需要前导零填充来达到目的,成为zerofill。

在tb_int中增加列c,规定其显示宽度最小为2;

插入以下数据,观察结果:

      

 布尔bool类型,相当于tinyint(1)的别名。MySQL中认为0表示false,非0值表示true。

  • 小数类型 (浮点数+定点数) 

            浮点数(小数点可以改变):

            单精度(4字节):float(默认精度位数为6位左右)

            双精度(8字节):double(默认精度位数为16位左右)

            支持科学计数法:123.56*10^3 要写成 123.56E3 的形式

        可以按下图的方式创建表tb_2:

 其实,在创建表tb_2时,通常会采用另一种方式,便于控制数值的范围

其中,float(5,2)表示a这一列输入的数值,总的位数不可超过5位,其中小数最多2位,整数部分最多3位;

double(8,3)同理。

当输入符合上述规定的两个数时,会发现输出如下图:

float(5,3)能表示的数值的范围是 -999.99~999.99 。

用科学计数法形式插入数据,显示的结果如下图:

   定点数(小数位数固定):定点数的保存并不是确切占多少字节,而是变长的(大致是每9个数字,采用4字节存储)

           decimal(M,D):M表示总位数,D表示小数位数,范围也存在,通过M和D控制

                                    M默认为10,D默认为0 。

 

定点数和浮点数也都支持zerofill,浮点数也支持unsigned。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:一道CTF题引发的思考-MySQL的几个特性(续)

下一篇:从源码角度看MySQL memcached plugin——0.大纲