整数类型
MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。
| 类型名称 | 说明 | 存储需求 |
|---|---|---|
| TINYINT | 很小的整数 | 1个字节 |
| SMALLINT | 小的整数 | 2个宇节 |
| MEDIUMINT | 中等大小的整数 | 3个字节 |
| INT (INTEGHR) | 普通大小的整数 | 4个字节 |
| BIGINT | 大整数 | 8个字节 |
根据占用字节数可以求出每一种数据类型的取值范围。例如,TINYINT 需要 1 个字节(8bit)来存储,那么 TINYINT 无符号数的最大值为 28-1,即 255;TINYINT 有符号数的最大值为 27-1,即 127。其他类型的整数的取值范围计算方法相同,如下表所示。
| 类型名称 | 说明 | 存储需求 |
|---|---|---|
| TINYINT | -128〜127 | 0 〜255 |
| SMALLINT | -32768〜32767 | 0〜65535 |
| MEDIUMINT | -8388608〜8388607 | 0〜16777215 |
| INT (INTEGER) | -2147483648〜2147483647 | 0〜4294967295 |
| BIGINT | -9223372036854775808〜9223372036854775807 | 0〜18446744073709551615 |
显示宽度和数据类型的取值范围是无关的。显示宽度只是指明 MySQL 最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充。如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。例如,year 字段插入 19999,当使用 SELECT 查询该列值的时候,MySQL 显示的将是完整的带有 5 位数字的 19999,而不是 4 位数字的值。
其他整型数据类型也可以在定义表结构时指定所需的显示宽度,如果不指定,则系统为每一种类型指定默认的宽度值。
不同的整数类型有不同的取值范围,并且需要不同的存储空间,因此应根据实际需要选择最合适的类型,这样有利于提高查询的效率和节省存储空间。
字符类型
| 类型 | 范围 | 说明 | 备注 |
|---|---|---|---|
| Char(N) [binary] | N=1~255 个字元 binary :分辨大小写 | 固定长度 | std_name cahr(32) not null |
| VarChar(N) [binary] | N=1~255 个字元binary :分辨大小写 | 可变长度 | std_address varchar(256) |
| TinyBlob | 最大长度255个字元(2^8-1) Blob (Binary large objects) | 储存二进位资料,且有分大小写 | memo text not null |
| TinyText | 最大长度255个字元(2^8-1) | 储存二进位资料,且有分大小写 | memo text not null |
| Blob | 最大长度65535个字元(2^16-1) | 储存二进位资料,且有分大小写 | memo text not null |
| Text | 最大长度65535个字元(2^16-1) | 储存二进位资料,且有分大小写 | memo text not null |
| MediumBlob | 最大长度 16777215 个字元(2^24-1) | 储存二进位资料,且有分大小写 | memo text not null |
| MediumText | 最大长度 16777215 个字元(2^24-1) | 储存二进位资料,且有分大小写 | memo text not null |
| LongBlob | 最大长度4294967295个字元 (2^32-1) | 储存二进位资料,且有分大小写 | memo text not null |
| LongText | 最大长度4294967295个字元 (2^32-1) | 储存二进位资料,且有分大小写 | memo text not null |
| Enum | 集合最大数目为65535 | 列举(Enumeration),Enum单选、Set复选 | zsex enum(1,0) |
| Set | 集合最大数目为64 | 列举(Enumeration),Enum单选、Set复选 | habby set(‘玩电玩’,'睡觉’,'看电影’,'听音乐’) |
日期时间
| 类型 | 范围 | 说明 |
|---|---|---|
| Date | 日期(yyyy-mm-dd) | |
| Time | 时间(hh:mm:ss) | |
| DateTime | 日期与时间組合(yyyy-mm-dd hh:mm:ss) | |
| TimeStamp | yyyymmddhhmmss | |
| Year | 年份yyyy |













网友评论