MySQL的数据类型

Posted zengsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的数据类型相关的知识,希望对你有一定的参考价值。

1、数值类型
  1、整型
    1、int 大整型(4个字节)
      取值范围 :0 ~ (2**32 - 1(42亿多))
    2、tinyint 微小整型(1个字节)
      1、有符号(signed默认) : -128 ~ 127
      2、无符号(unsigned) : 0 ~ 255
        例子:age tinyint unsigned,
    3、smallint 小整型(2个字节)
    4、bigint 极大整型(8个字节)
  2、浮点型
    1、float(4个字节,最多显示7个有效位,如果超过7的话,不会报错,但存进去的数在第7位之后会不正确)
      1、用法
        字段名 float(m,n) m->总位数 n->小数位位数
        float(5,2)取值范围? -999.99 ~ 999.99
    2、double(8个字节)
      字段名 double(m,n)
    3、decimal(最多显示28个有效位)
      1、decimal(m,n)
      2、存储空间(整数、小数分开存储)
      规则:将9的倍数包装成4个字节

      余数   字节
        0     0
      1-2            1
      3-4            2
      5-6            3
      7-9            4
    例:decimal(19,9)
    一个浮点型为10为整数,9位小数:
    整数部分:10/9=1余1 4字节+1字节 = 5字节
    小数部分:9/9=0 4字节+0字节 = 4字节
    总共占有:5字节 + 4字节 = 9字节

2、字符类型
  1、char(定长)
    1、取值范围:1~255
  2、varchar(变长)
    1、取值范围:1~65535
  3、text / longtext(4G) / blob / longblob(4G)
  4、char和varchar的特点
    1、char :浪费存储空间,性能高
    2、varchar :节省存储空间,性能低
  5、字符类型的宽度和数值类型宽度的区别
    1、数值类型宽度为显示宽度,只用于select查询是显示,
    和占用存储无关,可用zerofill查看效果。
    2、字符类型的宽度超过后无法存储

3、枚举类型
  1、单选enum
    sex enum(值1, 值2,.....)
  2、多选set
    likes set(值1, 值2,....)

















































以上是关于MySQL的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库的数据类型

mysql数据类型中blob和binary的区别?

mysql 数据类型TIMESTAMP

MYSQL 的数据类型

请问谁能详细介绍mysql的数据类型呢?

mysql基础数据类型118-124