(2.5)Mysql之SQL基础——数据类型

(2.5)Mysql之SQL基础——数据类型

  

目录:

  一、整数型

  二、小数型(以下均不能使用无符号)

  三、日期时间型

  四、字符串型

一、整数型

  

  额外参数示例:

  int [(n)] [unsigned] [zerofill]

  【1】int(4) :显示的宽度,默认为11位,这个并不影响正常情况的显示和存储(不会影响宽度大于这个定义的值)。

        当int字段类型设置为无符号填充零(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度。

        为什么会有无符号的限制呢,是因为ZEROFILL属性会隐式地将数值转为无符号型,因此不能存储负的数值。 

  【2】UNSIGNED :无符号数据类型

  【3】ZEROFILL:0填充,当数据位不慢时,会进行0填充,如int(4),如果列数据值为1,则会显示为0001.(该选项必定是无符号的)

二、小数型(以下均不能使用无符号)

  

  【1】定点:decimal (每位小数占一个字节,必须写MD) 【2】浮点:float(4字节)、double(8字节)(可以不写MD)

  使用:decimal/float/double(M,D)   ,M为总位数,D为小数位数。比如当M为10D为2时,则为 8位整数即2位小数。

  float(M,D) :如果不写MD,则自动处理M为7左右

  double(M,D) :如果不写MD,则自动处理M为15左右

  注意:

    【1】如果数据不满足定义的小数位D,则后置补0。

        例如:float(5,3) ,数值为1.1 则自动填充为 1.100

    【2】如果前置不满足M且使用了zerofill,则只有1-9会前置填充1个0,否则不填充(定点与浮点有区别);

        浮点数:float(6,2) zerofill 当值为1.1  -》 01.10      当值为12.1 -》 12.10

        定点数:decimal(6,2) zerofill 当值为1.1  -》 0001.10      当值为12.1 -》 00012.10

    【3】如果数值的小数位大于D的定义,则会四舍五入;

        例如:float(5.2)  当值为1.236 -》 1.24

三、日期时间型

  

四、字符串型

  

猜你喜欢

转载自www.cnblogs.com/gered/p/10360210.html