mysql数据类型

1. mysql数据类型有:

  整数类型、小数类型、字符串类型、日期类型、复合类型、二进制类型

2. 整数类型

  (1)tinyint :1字节 -128~127, unsigned (0,255)

  (2)smallint :2字节 16位 (0,65535)

  (3)mediumint: 3字节 24位 (0,1600多万)

  (4)int :4字节 32位 

    int(m) 表示select查询结果集中的显示宽度,并不影响实际的取值范围 ,加 zerofill

    eg. create table grade(g1 int, g2 int(8), g3 int(8) zerofill);

    

    

  (5)bigint: 8字节 64位

3. 小数类型

  (1)精确小数类型(定点数类型)

    decimal 用于表示精度确定的小数类型,默认整数位为10,小数位为0

    decimal(8,4) -9999,9999 9999.9999
    默认以字符串形式存储,精度比float高

    

  (2)浮点小数型

    float:

      float(M,D)

      M 精度 总位数,不包含小数点和负号

      D 小数位 默认2位

      eg. float(4,2) 范围(-99.99,99.99)
      整数部分不能超过M-D
      小数部分实际长度超过指定的D,将四舍五入

      小数设置为2位,输入是3位,就会四舍五入:81.237 变为 81.24

      

      整数部分设置为:4-2=2位,当输入3位时,就会报错

      

4. 字符串类型:输入时双引号或单引号括起来

  (1)Char(定长字符串类型):效率是最高的,Char(M) 0<=M<=255,M表示字符的个数

  (2)varchar(变长字符串类型):0<=M<=65535

  (3)text 文本类型:tinytext  text  mediumtext  longtext

5. 日期类型

  (1)date类型:表示日期,默认YYYY-MM-DD

  (2)time类型:表示时间 格式HH:ii:ss

  (3)year类型:表示年份

  (4)datatime :日期时间 YYYY-MM-DD HH:ii:ss  8bit 取值范围更大

  (5)datastamp:时间戳 YYYY-MM-DD HH:ii:ss   4bit  实际上是Mysql服务类型当前的日期和时间 不同的时区,显示的结果不同

6. 复合类型

  (1)enum类型 枚举类型

    格式 :属性名 enum('值1‘,’值2‘,’值3‘...)

    最多可以包含65535个元素

  (2)set类型
    格式:  属性名 set('值1‘,’值2‘,’值3‘...)
    最多可以包含64个字符
    可以存储一系列属性

7. 二进制类型:主要存储有0和1组成的字符串

  binary
  varbinary
  bit
  blob

原文地址:https://www.cnblogs.com/ZZG-GANGAN/p/13814237.html