数据类型

时间

mysql中时间类型包括:date、dateTime、time、timeStamp、year,对于时间的使用只须要根据需求选择对应的类型便可,只是须要注意如下几点
一、几种时间类型能够精确到秒后最多6位
二、time的范围为'-838:59:59.000000' to '838:59:59.000000','11:12' means '11:12:00',1112 means 00:11:12 
三、timeStamp有时间范围限制1970-01-01 00:00:01.000000至2038-01-19 03:14:07.999999
四、year保存两位时: 70-99 表示 1970-1999   00-69 表示 2000-2069.

数字

mysql中的数字类型包括:integer(int)、smallInt、decimal(dec|fixed)、numeric
一、boolean类型至关于tinyInt(1)的变种,在mysql中true==1 false==0,可是if判断时非0则为true
二、整数类型根据表示范围分为了如下几种
   2.1 tinyInt(8) 有符号范围为-128~127,无符号范围为0~255,如下类型相似区分有无符号表示不一样范围
   2.2 smallInt(16)
   2.3 mediumInt(24)
   2.4 int(32)
   2.5 bigInt(64)
三、浮点类型(m,d)
   3.1 float(32) 单精度浮点数
   3.2 double(64) 双精度浮点数
四、小数类型: decimal(m,d)主要用于金额的保存m表明数字的个数包括小数位最大65

字符类型

一、char与varchar
  char 最大字节数为255,内容不足给定长度时会填充空格保存,取出时去除,除非PAD_CHAR_TO_FULL_LENGTH被设置为启用'char判断相等时会去重空格,可是like不会
  varchar最大65535长度,该长度为字符数,根据编码的不一样转换为不一样的最大值(好比utf的最大值为21844),因为是变长因此须要储存长度在不大于255时使用一个子节不然两个子节
二、binary与varbinary
  二进制形式下的char与varchar
三、blob
  tinyblob使用一字节保存长度,最大255子节,
  blob使用两字节保存长度,最大2^16-1
  mediumBlob使用三字节保存长度,最大2^24-1
  longBlob使用四字节保存长度,最大2^32-1
四、text
  blob的非二进制的类型
五、enum
  枚举类型,建立表时约定范围
六、set
  集合类型,建立表示给定范围

字符串须要注意字符编码,包括存储编码与排序编码,若是设置优先级为列 > 表 > 数据库 > 服务html

存储无 存储有
排序无 都是用默认 排序使用存储默认
排序有 存储使用排序的主编码 使用给定的

对于char、varchar、text若是编码为binary就会转换为对应的bianary、varbinary、blob,enum与set不会有变化mysql

相关文章
相关标签/搜索