目录
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
1.字符串类型
类型 | 长度 | 说明 |
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 短文本字符串 |
BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
TEXT | 0-65 535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
2.数值类型
float、double、double三者区别
Float为单精度,用4个字节存储数据,数据范围是10^38;精度只能保证7个
Double为双精度,用8个字节来存储数据,数据范围10^308次方,但是精度也只有15位左右。
Decimal定点数,系统自动根据存储的数据来分配存储空间,每9个数就会分配四个字节来进行存储,同时小数和整数部分是分开的。
3.日期时间
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
4.枚举
定义:enum(可能出现的元素列表); //如enum(‘男’,‘女’)
使用:存储数据,只能存储上面定义好的数据
案例:create table my_enum( gender enum('男','女','保密') ) charset utf8;
只能插入enum()中的数值:insert into my_enum values('男');
5.集合
枚举只能选enum()中单个值,那么集合就是同时选择多个值
create table teacher( id int, name char(16), hobbies set("read","music","movie") );
insert into teacher(1,"allen","read,musci,movie");