MySQL的数据类型有很多,主要为数值类型,字符串类型和时间日期类型,在MySQL5.7.8的版本中怎加了json类型。
整数类型分为:
整数类型细分为:
- tinyint: 1字节
- smallint: 2字节
- endiumint: 3字节
- int/integer: 4字节
- bigint: 8字节
浮点数类型:
- float: 4字节
- double:8字节
定点数类型:
- decimal(m,n):m位整数,n位小数
位类型:
- bit:1-8字节
时间日期类型有很多表示,不同版本可能有所差异,MySQL5.7版本中时间日期类型有一下几种:
- date:日期类型,4字节,格式为xxxx-xx-xx,1000-01-01 ~ 9999-12-31
- time:时间类型,3字节,格式为xx xx:xx ,-838 59:59 ~ 838 59:59
- datetime: 日期时间类型,8字节,1000-01-01 00 00:01 ~ 9999-12-31 23 59:59
- timestamp:unix时间戳类型,4字节,19700101080001 ~ 2038年某个时刻
- year:年份,默认为4位数类型 1901 ~ 2155
字符串类型,MySQL针对字符数据也有多种存储类型;
- char(m):m范围在0~255之间
- varchar(m):m范围为0~65535之间
- tinyblob:二进制大对象,用于存储二进制文件
- blob:
- mediumblob:
- longblob:
- tinytext:
- text:
- mediumtext:
- longtext:
- varbinary(m):varbinary 类型和char与varchar类型是相似的,只是他们存储的是二进制数据,也就是说他们是包含字节流而不是字符流,他们有二进制字符的集合和顺序,他们的对比,排序是基于字节的数值进行的。
- binary(m):类似于char类型,binary存储二进制数据
- enum:枚举类型,须事先定义好enum值,使用时一次只能取enum中的一个数值。
- set:集合类型,类似于enum类型,但是set使用时可以同时取出set集合中的多个值。
json:json数据类型是JavaScript中的一种类型,由于它的特性被广泛使用,在MySQL5.7.8版本中加入了json类型。