数据类型,指的是数据表中的列中支持存放的数据的类型
1.数值类型
在mysql中有多种数据类型可以存放数值,不通的类型存放的数值的范围或形式是不通的。
| 类型 | 内存空间大小 | 范围 | 说明 |
|---|---|---|---|
| tinyint | 1byte | 有符号 -128-127 无符号 0-255 | 特小型整数(比如年龄) |
| smallint | 2byte(16bit) | 有符号 -32768-32767 无符号 0-65535 | 小型整数 |
| mediumint | 3byte | 有符号 -2^31-2^31-1 无符号 0-2^32-1 | 中型整数 |
| int/integer | 4byte | -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) | 整数 |
| bigint | 8byte | -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) | 大型整数 |
| float | 4byte | -3.4E38~3.4E38(7个有效位) | 单精度 |
| double | 8byte | -1.7E308~1.7E308(15个有效位 | 双精度 |
| decimal | 128bit | 8个有效位 | 常用于银行账目计算,DECIMAL(20,2) 指的就是总共能存20位数字,末尾2位是小数(小数点不算在长度内) |
2.字符串类型
| 类型 | 字符序列长度 | 说明 |
|---|---|---|
| char | 0-255字节 | 定长字符串,最多可以存储255个字符,当我们制定数据表字段为char(n),此列中国呢的数据最长为n个字符,如果添加的数据少于n,则补'\u0000'至n长度 |
| varchar | 0-65536字节 | 可变长度字符串,此类型的类最多长度为65535| |
| tinyblob | 0-255字节 | 存储二进制字符串 |
| blob | 0-65535 | 存储二进制字符串 |
| mediumblob | 0-1677215 | 存储二进制字符串 |
| longblob | 0-4294967295 | 存储二进制字符串 |
| text | 0-255 | 文本数据(字符串) |
| text | 0-1677215 | 文本数据(字符串) |
| longtext | 0-4294967295 | 文本数据(字符串),当varchart存不下去使用 |
3.日期类型--(用于时间字段进行查询)
| 类型 | 格式 | 说明 |
|---|---|---|
| date | 2022-08-08 | 日期,只存储年月日 |
| time | 16:36:12 | 时间,只存错时分秒 |
| year | 2022 | 年份 |
| datetime | 2022-08-08 16:36:12 | 日期+时间,存储年月日时分秒 |
| timestamp | 20220808 163612 | 日期+时间(时间戳) |