## 数据类型
在MySQL里面我们将数据类型分为了以下一些类型:
- 数值类型
- 字符串类型
- 日期时间类型
- 复合类型
- 空间类型
### 数值类型
![数值类型](http://or6p6wj64.bkt.clouddn.com/2017-06-07T15-01-29.303Z.png)
float (浮点数) 是非精确值,会存在不太准确的情况。
decimal(定点数)本质上是用字符串存储的。对精度要求比较高的数值(比如支付交易额)建议使用这种类型。
### 字符类型
![字符类型](http://or6p6wj64.bkt.clouddn.com/2017-06-07T15-04-40.752Z.png)
** CHAR (定长字符)**
长度范围 0-255,存储占用空间为指定的长度。超过指定长度的部分将被截短,检索时字段尾部空格被删除。
** VARCHAR(变长字符)**
长度范围 0-65535,存储占用空间为实际存储长度。超过指定长度部分会被截短,检索时字段尾部空格不会被删除。
### 时间类型
![时间类型](http://or6p6wj64.bkt.clouddn.com/2017-06-07T15-03-25.361Z.png)
### 复合类型
| 类型 | 说明 | 举例 |
| --- | --- | --- |
| enum | 枚举类型 | enum(“member1″, “member2″, … “member65535″) |
| set | 集合类型 | set(“member”, “member2″, … “member64″) |
ENUM 类型
ENUM 类型只允许从预定义集合中取得一个值。一个 ENUM 类型最多可以包含 65536 个元素。
SET 类型
SET 类型可以从预定义集合中取得任意数量的值。一个 SET 类型最多可以包含 64 个元素。
并且它还去除了重复的元素,所以SET类型中不可能包含两个相同的元素。
### 空间类型
请参考:[初识 MySQL GIS](https://yq.aliyun.com/articles/50625)