MYSQL三大类数据类型
- 数值类型
- 日期/时间类型
- 字符串类型
一般可变长度的数据类型,所占的存储空间长度实际上是所存储的内容的长度。
数值类型
- 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT;
- 浮点小数数据类型FLOAT和DOUBLE
- 定点小数DECIMAL
在对精度要求比较高的时候,比如货币、科学数据,使用DECIMAL的类型较好。
日期/时间类型
- YEAR
- TIME
- DATE
- DATETIME
- TIMESTAMP
字符串类型
字符串类型分为文本字符串和二进制字符串
字符串类型除了存储字符串数据之外,还可以存储图片、声音的二进制数据。文本字符串可以进行区分或者不区分大小写的串比较,还可以进行模式匹配查找。
- CHAR
- VARCHAR
- BINARY
- VARBINARY
- BLOB
- TEXT
- ENUM
- SET
ENUM类型的使用方式
字段名 + ENUM + ('值', '值', '值', '值')...
字段名 ENUM ('值1', '值2', '值3',...,'值n')
ENUM值依照索引顺序排列,空值排在非空之前,NULL排在所有值之前;
Example:
1. 创建一个表,表中有一个enum字段
CREATE TABLE test_enum
(
enum_value ENUM('a', 'b', 'c')
);
2. 插入enum的值
INSERT INTO test_enum
VALUES ('a'), ('b'), ('a'), (NULL);
3. 查看enum的值以及其中值的索引
SELECT enum_value, enum_value+0 FROM test_enum;