前言:整理自《Mysql入门很简单》11月12日借到了书,11月20日看完。今天做个总结,整理了一下书上的内容
1整数类型
整数类型 | 字节数 | 无符号取值范围 | 有符号取值范围 |
tinyint | 1 | 0-255 | -128~127 |
smallint | 2 | 0~65536 | -32768~32767 |
mediumint | 3 | 0~16777215 | -8388608~8388607 |
int | 4 | 0~4294967295 | -2147483648~2147483647 |
integer | 4 | 0~4294967295 | -2147483648~2147483647 |
bigint | 8 | 0~18446744073709551615 | -9223372036854775808~9223372036854775807 |
2浮点类型和定点类型
类型 | 字节数 |
float(m,d) | 4 |
double(m,d) | 8 |
mecimal(m,d) | M+2 |
3日期与时间类型
类型 | 字节数 | 范围 | 零值 |
year | 1 | 1901~2155 | 0000 |
date | 4 | 1000-01-01~9999-12-31 | 0000-00-00 |
time | 3 | -838:59:59~838:59:59 | 00:00:00 |
datetime | 8 | 1000-01-01~9999-12-31 | 0000-00-00 00:00:00 |
timestamp | 4 | 19700101080001~20380119111407 | 0000000000000 |
4.1char和varchar,
char是固定长度,长度为定义时候的长度,varchar的长度是实际长度+1;
4.2text类型
tinytext 0~255字节
text 0~65536字节
mediumtext 0~167772150字节
longtext 0~4294967295字节
4.3enum类型
枚举类型。
属性名 enum(‘值1’,‘值2’,...);
sex enum('男','女');
枚举在输入时可以用数字直接选择。
4.4set
属性名 set(‘值1’,‘值2’,...);
和枚举不同的地方是,可以同时选择set里的多个值作为属性内容。
5二进制类型
类型 | 取值范围 |
binary(M) | 字节数为M,允许长度为0~M的二进制字符串 |
varbinary(M) | 0~M+1的变长字符串 |
bit(M) | M最大为64 |
tinyblob | 255 |
blob | 2^16-1 |
mediumblob | 2^24-1 |
longblon | 2^32-1字节 |