Postgresql与Mysql字段类型比较
2025年5月14日以下是 PostgreSQL 和 MySQL 在字段类型上的比较:
整数类型
PostgreSQL | MySQL | 描述 |
---|---|---|
SMALLINT | SMALLINT | 16 位整数 |
INTEGER /INT | INT | 32 位整数 |
BIGINT | BIGINT | 64 位整数 |
浮点数类型
PostgreSQL | MySQL | 描述 |
---|---|---|
REAL | FLOAT | 32 位浮点数 |
DOUBLE PRECISION | DOUBLE | 64 位浮点数 |
FLOAT4 | FLOAT | 32 位浮点数(PostgreSQL 特有) |
FLOAT8 | DOUBLE | 64 位浮点数(PostgreSQL 特有) |
精确数值类型
PostgreSQL | MySQL | 描述 |
---|---|---|
NUMERIC /DECIMAL | DECIMAL | 精确数值类型 |
NUMERIC(p, s) | DECIMAL(p, s) | 精确数值类型,p 为精度,s 为小数位数 |
字符串类型
PostgreSQL | MySQL | 描述 |
---|---|---|
CHAR(n) | CHAR(n) | 固定长度字符串 |
VARCHAR(n) | VARCHAR(n) | 可变长度字符串 |
TEXT | TEXT | 大文本类型 |
JSON /JSONB | JSON | JSON 数据类型 |
日期和时间类型
PostgreSQL | MySQL | 描述 |
---|---|---|
DATE | DATE | 日期类型 |
TIME | TIME | 时间类型 |
TIMESTAMP | TIMESTAMP /DATETIME | 时间戳类型 |
INTERVAL | 无直接对应 | 时间间隔类型 |
布尔类型
PostgreSQL | MySQL | 描述 |
---|---|---|
BOOLEAN | BOOLEAN /TINYINT(1) | 布尔类型 |
其他类型
PostgreSQL | MySQL | 描述 |
---|---|---|
UUID | 无直接对应 | UUID 类型 |
ARRAY | 无直接对应 | 数组类型 |
HSTORE | 无直接对应 | 键值对类型 |
JSONB | 无直接对应 | JSONB 类型(PostgreSQL 特有) |
需要注意的是,虽然 PostgreSQL 和 MySQL 在某些类型上具有相似的名称,但它们的具体实现和行为可能会有所不同。此外,PostgreSQL 具有一些 MySQL 不支持的类型,如 JSONB
、ARRAY
和 HSTORE
等。