1,数字类型
整数数据类型
数据类型 | 取值范围 | 说明 | 单位 |
tinyint | 符号值:-127 ~ 127 无符号值:0 ~ 255 | 最小的整数 | 1字节 |
smallint | 符号值:-32768 ~ 32767 无符号值:0 ~ 65535 | 小型整数 | 2字节 |
mediumint | 符号值:-8388608 ~ 8388607 无符号值:0 ~ 16777215 | 中型整数 | 3字节 |
int | 符号值:-2147683648 ~ 2147683647 无符号值:0 ~ 4294967295 | 标准整数 | 4字节 |
bigint | 符号值:-9223372036854775808 ~ 9223372036854775807 无符号值:0 ~ 18446744073709551615 | 大整数 | 8字节 |
浮点数据类型
数据类型 | 取值范围 | 说明 | 单位 |
float | +(-)3.402823466E+38 | 单精度浮点数 | 8或4字节 |
double | +(-)1.7976931348623157E+308 +(-)2.2250738585072014E-308 | 双精度浮点数 | 8字节 |
decimal | 可变 | 一般数 | 自定义长度 |
MySQL支持在数字类型后面的括号中指定显示数值的位数
比如
int(4) 表示用4位整数表示
float(7,2) 表示用带有2位小数7位小数表示,例如10635.26
括号中的数字并不意味着使用的时候一定要是4位全用满,7位全用满,是指最多只显示4位,最多只显示7位,超过的就不显示出来了
2,字符串类型
- 普通的文本字符串类型
类型 | 取值范围 | 说明 |
char(n) | 0 ~ 255个字符 | 固定长度为n的字符串 其中n的取值范围为0~255 |
varchar(n) | 0 ~ 255个字符 | 长度可变,字符串最大长度为n 其中n的取值范围为0~255 |
一般来说
如果某一列的取值是固定长度,就选择char类型,比如身份证号,所有人的身份证号都是18位的数字或字母,该字段数据类型就可选为char(18)
如果某一列的取值不是固定长度,就选择varchar类型,比如书名,不同的书,名字长短不一,考虑到书名一般不会超过50个字节,该字段的数据类型选为varchar(50)
2. text和blob类型
text类型适合存储长文本。例如个人履历、内容简介、职业说明等等
blob类型适合存储二进制数据,支持任何数据,如文本、声音和图像,例如图书封面
3,日期和时间类型
日期和时间数据类型
类型 | 取值范围 | 说明 |
date | 1000-01-01 9999-12-31 | 日期,格式YYYY-MM-DD |
time | -838:58:59 835:59:59 | 时间,格式HH:MM:SS |
datetime | 1000-01-01 00:00:00 9999-12-31 23:59:59 | 日期和时间 格式YYYY-MM-DD HH:MM:SS |
year | 1901 - 2155 | 年份可指定两位数字和四位数字的格式 |