数值类型
日期和时间类型
字符串类型
### 数值类型
![](https://box.kancloud.cn/0b42bb96ad99fa86aaeb71e5c0cfd19f_1668x1178.png)
**例如int(11)**
这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
int是整型,(11)是指显示字符的长度,但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0
### 日期与时间类型
![](https://box.kancloud.cn/3b80eb999eea327530b817ddcc746ca9_1680x608.png)
### 字符串类型
![](https://box.kancloud.cn/3241d0ddc564a87857b33690b2c940f6_1658x876.png)
若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少?
先明白计算的一些规则限制
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节
gbk:每个字符最多占用2个字节
utf8:每个字符最多占用3个字节