MySQL数据类型

  (1)数据类型属性

      1、UNSIGNED不要使用,可能会带来意想不到的情况,例:对于INT,如果超出范围,使用BIGINT

      2、ZEROFILL对数字类型数据进行格式化输出,并默认添加UNSIGNED例:int(4),当保存的数据为1,输出为0001

  (2)日期和时间

      DATETIME    8字节  "1000-01-01 00:00:00"到"9999-12-31 23:59:59"

      DATE       3字节  "1000-01-01"到"9999-12-31"

      TIMESTAMP    4字节  "1970-01-01 00:00:00"到"2038-01-19 03:14:07"(实际存储内容为1970-01-01 :00:00:00到当前时间的毫秒数)

      YEAR       1字节  YEAR(4)显示范围1901~2155 YEAR(2)显示范围1970~2070

      TIME         3字节  "-838:59:59"~"838:59:59"

    1.2.1日期时间函数

      1、NOW等同于CURRENT_TIMESTAMP,返回执行SQL语句的时的时间

      2、SYSDATE,返回执行到当前函数时的时间

    1.2.2时间加减

      DATE_ADD(date,INTERVAL expr unit)    DATE_SUB(date,INTERVAL expr unit)

      1、date可为日期类型或日期字符串

      2、expr可为正负数

      3、unit可为DAY、YEAR、MICROSECOND、SECOND、MINUTE、HOUR、WEEK、MONTH

    1.2.3日期格式化

      DATE_FORMAT(NOW(),'%y%m%d')

  (3)数字类型

      TINYINT    1    -128~127  0~255

      SMALLINT      2    -32768~32767  0~65535

      MEDIUMINT   3    -8388608~8388607  0~16777215

      INT       4    -2147483648~2147483647  0~4294967295

      BIGINT      8    -92233720368547758080~9223372036854775807  0~18446744073709551615

  (4)浮点型

      FLOAT            4  非精确类型

      DOUBLE PRECISION   8  非精确类型

      DECIMAL/NUMERIC       精确类型

  (5)位类型

      BIT(M)     (M+7)/8字节  M为1到64

      如果存放的值位数小于M,默认前面补0,例:对于BIT(6),b'110',最终存储b'000110'

      采用位存储的方式,不能直接查看,需要通过HEX(bit)进行转换

  (6)字符类型

      CHAR(N)    N的范围0~255,用来保存固定长度的字符串(当保存长度小于N,会自动右填充)

      VARCHAR(N)  N的范围0~65535,用来保存可变长字符串(其存储时会在前缀长度列表加上实际存储的字符长度)

  (7)二进制类型

      BINARY(N)、VARBINARY(N)  类似字符类型,存储形式为二进制,N表示字节长度

  (8)大数据类型

      BLOB存储二进制大数据、TEXT存储大文本

  (9)集合类型

      ENUM可以枚举65536个元素,SET最多64个  例:sex ENUM('male','female')

posted @ 2018-11-05 15:48  Nreo  阅读(179)  评论(0编辑  收藏  举报