时间
mysql中时间类型包括:date、dateTime、time、timeStamp、year,对于时间的使用只需要根据需求选择对应的类型即可,只是需要注意以下几点
1、几种时间类型可以精确到秒后最多6位
2、time的范围为\'-838:59:59.000000\' to \'838:59:59.000000\',\'11:12\' means \'11:12:00\',1112 means 00:11:12
3、timeStamp有时间范围限制1970-01-01 00:00:01.000000至2038-01-19 03:14:07.999999
4、year保存两位时: 70-99 表示 1970-1999 00-69 表示 2000-2069.
数字
mysql中的数字类型包括:integer(int)、smallInt、decimal(dec|fixed)、numeric
1、boolean类型相当于tinyInt(1)的变种,在mysql中true==1 false==0,但是if判断时非0则为true
2、整数类型根据表示范围分为了以下几种
2.1 tinyInt(8) 有符号范围为-128~127,无符号范围为0~255,以下类型类似区分有无符号表示不同范围
2.2 smallInt(16)
2.3 mediumInt(24)
2.4 int(32)
2.5 bigInt(64)
3、浮点类型(m,d)
3.1 float(32) 单精度浮点数
3.2 double(64) 双精度浮点数
4、小数类型: decimal(m,d)主要用于金额的保存m代表数字的个数包括小数位最大65
字符类型
1、char与varchar
char 最大字节数为255,内容不足给定长度时会填充空格保存,取出时去除,除非PAD_CHAR_TO_FULL_LENGTH被设置为启用\'char判断相等时会去重空格,但是like不会
varchar最大65535长度,该长度为字符数,根据编码的不同转换为不同的最大值(比如utf的最大值为21844),由于是变长所以需要储存长度在不大于255时使用一个子节否则两个子节
2、binary与varbinary
二进制形式下的char与varchar
3、blob
tinyblob使用一字节保存长度,最大255子节,
blob使用两字节保存长度,最大2^16-1
mediumBlob使用三字节保存长度,最大2^24-1
longBlob使用四字节保存长度,最大2^32-1
4、text
blob的非二进制的类型
5、enum
枚举类型,创建表时约定范围
6、set
集合类型,创建表示给定范围
字符串需要注意字符编码,包括存储编码与排序编码,如果设置优先级为列 > 表 > 数据库 > 服务
排序无 | 都是用默认 | 排序使用存储默认 |
排序有 | 存储使用排序的主编码 | 使用给定的 |
对于char、varchar、text如果编码为binary就会转换为对应的bianary、varbinary、blob,enum与set不会有变化
来源:https://www.cnblogs.com/whiteblack/p/14430320.html
图文来源于网络,如有侵权请联系删除。