mysql数据类型

一.数值类型

 整数类型  字节   范围(有符号)  范围(无符号)  用途
 TINYINT   1字节    (-128,127)  (0,255)  小整数值
 SMALLINT  2字节    (-32 768,32 767)  (0,65 535)  大整数值
 MEDIUMINT  3字节  (-8 388 608,8 388 607)   (0,16 777 215)  大整数值
 INT或INTEGER  4字节  (-2 147 483 648,2 147 483 647)   (0,4 294 967 295)  大整数值
 BIGINT  8字节   (-9 233 372 036 854 775 808,9 223 372 036 854 775 807)  (0,18 446 744 073 709 551 615)  极大整数值
  FLOAT  4字节  (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38, 3.402 823 466 351 E+38)   0,(1.175 494 351 E-38,3.402 823 466 E+38)  单精度浮点数值
 DOUBLE  8字节   (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)    0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)   双精度浮点数
 decimail(M,D)  M+2个字节   - 10^38 +1 ~ 10^38 - 1  0 ~ 10^38 - 1  精确小数值  

INT 类型:

  在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。

MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),

就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。

万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,

MySQL 会在不合规定的值插入表前自动修改为 0。

 

UNSIGNED 修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。从而增大这个字段可以存储的值的范围。

ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。

 

FLOAT、DOUBLE类型

  MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。

与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字。

 

对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。

 

DECIMAL类型

float占4个字节,double占8个字节,decimal(M,D)占M+2个字节。如DECIMAL(5,2)的最大值为9999.99,益网有7个字节可用。M与D对DECIMAL(M,D)取值范围有影响。当数值在其取值范围之内,小数位多了,则直接截断小数位。若数值在其取值范围之外,则用最大(小)值对其填充。

posted @ 2016-06-13 17:28  IT~民工  阅读(147)  评论(0编辑  收藏  举报