数据类型是对数据存储方式的一种约定,它能够规定数据存储所占空间的大小。在数据表中存入数据时必须要指定数据类型。
1、数值类型
包括整数和小数。在MySQL数据库中,常用的数值类型有存放整数的int、tinyint、smallint、bigint,存放小数的decimal、float、double。
数据类型 | 取值范围 | 说明 |
tinyint | -2^7~2^7-1 | 占用1个字节 |
smallint | -2^15~2^15-1 | 占用2字节 |
int | -2^31~2^31-1 | 占用4字节 |
bigint | -2^63~2^63-1 | 占用8字节 |
小数类型
数据类型 | 取值范围 | 说明 |
float | 4字节 | 两种表示方式:float(有效位数,小数位数);float(二进制位数),表示该小数占用的二进制位数,可精确到小数点后7位。 |
double | 8字节 | 表示方式:有效位数,小数位数;可以精确到小数点后15位 |
decimal | 最大的有效位数是65位 | 表示方式是decimal(有效位数,小数位数)。可以精确到小数点后30位 |
字符串类型
数据类型 | 取值范围 | 说明 |
char | 0~255个字符 | 定长数据,存储形式char(n),n代表存储的最大字符数 |
varchar | 0~65535个字符 | 变长数据,存储形式varchar(n),n代表存储的最大字符数 |
binary | 0~255个字符 | 定长的数据,存储的是二进制数据,形式是binary(n),n代表存储的最大字节数 |
varbinary | 0~65535个字符 | 变长数据,存储的是二进制数据,形式是varbinary(n),n代表存储的最大字节数 |
日期时间类型
数据类型 | 取值范围 | 说明 |
datetime | 1000-01-01 00:00:00~9999-12-31 23:59:59 | 存储格式YYYY-MM-DD HH:MM:SS |
data | 1000-01-01~9999-12-31 | 存储格式YYYY-MM-DD |
timestamp | 显示固定宽度是19个字符 | 记录update或insert操作时的时间 |
time | -838:59:59~838:59:59 | 存储的格式HH:MM:SS |
枚举类型
枚举值是'昨天'、'今天'、'明天',那么值的索引是1、2、3。
集合类型
集合类型用set表示,可以取出已知值列表中任意组合的值,最多有64个成员。
位类型
bit类型用来定义一个指定位数的数据,它的取值范围是1~64。
bool类型用于逻辑值的判断,只有判断的两个值,true和false。