本文共 2084 字,大约阅读时间需要 6 分钟。
数据类型是数据库设计中最重要的组成部分之一。不同的数据类型在存储、处理和处理数据时有不同的特性和限制。以下是常见的数据库数据类型及其详细信息:
| 类型 | 存储字节 | 备注 | 最小值(带符号) | 最大值(带符号) | 最小值(无符号) | 最大值(无符号) |
|---|---|---|---|---|---|---|
| tinyint(length) | 1 | 无符号范围:0-255带符号范围:-128 到 127 | 0 | 255 | 0 | 255 |
| smallint(length) | 2 | 无符号范围:0-65535带符号范围:-32768 到 32767 | 0 | 65535 | 0 | 65535 |
| mediumint(length) | 3 | 无符号范围:0-16777215带符号范围:-8388608 到 8388607 | 0 | 16777215 | 0 | 16777215 |
| int(length) | 4 | 无符号范围:0-4294967295带符号范围:-2147483648 到 2147483647 | 0 | 4294967295 | 0 | 4294967295 |
| bigint(length) | 8 | 无符号范围:0-18446744073709551615带符号范围:-9223372036854775808 到 9223372036854775807 | 0 | 18446744073709551615 | 0 | 18446744073709551615 |
| float(length, decimals) | 4 | 具有浮动小数点的较小的数,支持小数点默认小数位数:4 | - | + | - | + |
| double(length, decimals) | 8 | 具有浮动小数点的较大的数,支持更多小数位数 | - | + | - | + |
| decimal(length, decimals) | 1-2字节 | 存储为字符串,允许固定小数点 | - | + | - | + |
| date | 3 | YYYY-MM-DD 格式,日期范围:1000-01-01 到 9999-12-31 | - | + | - | + |
| time | 3 | HH:MM:SS 格式,时间范围:00:00:00 到 23:59:59 | - | + | - | + |
| timestamp | 4 | YYYYMMDDHHMMSS 格式,范围终止于2037年 | - | + | - | + |
| datetime | 8 | YYYY-MM-DD HH:MM:SS 格式,范围终止于9999-12-31 23:59:59 | - | + | - | + |
| char(length) | length字节 | 定长字段,长度范围:0-255 | - | + | - | + |
| varchar(length) | length+1-2字节 | 变长字段,长度范围:0-65535 | - | + | - | + |
| tinytext | length+1字节 | 字符串字段,最大长度为255 | - | + | - | + |
| text | length+2字节 | 字符串字段,最大长度为65535 | - | + | - | + |
| mediumint(length) | length+3字节 | 字符串字段,最大长度为16 777 215 | - | + | - | + |
| longtext | length+4字节 | 字符串字段,最大长度为4 294 967 295 | - | + | - | + |
tinyint 或 smallint,适用于占用字节最少的整数字段。float 或 double,注意 double 的精度更高。char 或 varchar,varchar 更适合变长字段。date、time、timestamp 或 datetime。bigint 或 longint。NOT NULL,业务需求如需默认值可自定义。NULL,避免三值逻辑运算。create_time 和 update_time 字段。status 或 type):使用 tinyint 或 smallint,占用字节最少。bigint 类型,命名为 id。char:长度固定,存储效率高,适合定长字符串。varchar:长度可变,存储效率稍低,适合变长字段。tinyint(1) 和 tinyint(3):相同,占用1字节。int(1) vs tinyint(1):优先选择 tinyint(1),节省空间。tinyint:1字节,smallint:2字节,mediumint:3字节,int:4字节,bigint:8字节。通过合理选择数据类型,可以显著提升数据库的性能和可维护性。
转载地址:http://njdfk.baihongyu.com/