数据库

 首页 > 数据库 > postgresql > PostgreSQL与MySQL数据类型的对比

PostgreSQL与MySQL数据类型的对比

分享到:
【字体:
导读:
         摘要:MySQL数据类型数据类型说明固定长度的位串。BOOLEAN存储逻辑布尔值(true/false/unknown),可以是TRUE、true和1;FALSE、false和0。TINYBLOB用于存储二进制对象(比如图形)的原始二进制数据,最大255字节。BLOB用于存储二进制对象(比如图...

PostgreSQL与MySQL数据类型的对比


MySQL 数据类型

数据类型

说明

固定长度的位串。

BOOLEAN

存储逻辑布尔值(true/false/unknown),可以是 TRUE、true 和 1;FALSE、false 和 0。

TINYBLOB

用于存储二进制对象(比如图形)的原始二进制数据,最大 255 字节。

BLOB

用于存储二进制对象(比如图形)的原始二进制数据,最大 65,535 字节。

MEDIUMBLOB

用于存储二进制对象(比如图形)的原始二进制数据,最大 16,777,215 字节。

LONGBLOB

用于存储二进制对象(比如图形)的原始二进制数据,最大 4GB。

CHAR(n)
CHARACTER(n)

包含固定长度的字符串,用空格填充到长度 n。

DATE

用 3 字节的存储空间存储日历日期(年、月、日)。

DATETIME

用 8 字节的存储空间存储日历日期和天内的时间。

YEAR

用 1 字节的存储空间存储两位或四位格式的年份。

DECIMAL(p,s)
NUMERIC(p,s)

存储精确的数值,精度(p)最高为 65,刻度(s)为 30 或更高。

FLOAT

存储浮点数,限制由硬件决定。单精度浮点数精确到大约 7 位小数。UNSIGNED 属性不允许负数。

DOUBLE
REAL

存储双精度浮点数,限制由硬件决定。双精度浮点数精确到大约 15 位小数。UNSIGNED 属性不允许负数。

TINYINT

存储有符号或无符号 1 字节整数。

SMALLINT

存储有符号或无符号 2 字节整数。

MEDIUMINT

存储有符号或无符号 3 字节整数。

INTEGER

存储有符号或无符号 4 字节整数。

BIGINT

存储有符号或无符号 8 字节整数。

TINYTEXT

用于存储最多 255 字节的字符串数据。

TEXT

用于存储最多 65,535 字节的字符串数据。

MEDIUMTEXT

用于存储最多 16,777,215 字节的字符串数据。

LONGTEXT

用于存储最多 4GB 的字符串数据。

TIME

用 3 字节的存储空间存储天内的时间。

TIMESTAMP

用 4 字节的存储空间存储日期和时间。如果没有提供有效值的话,TIMESTAMP 列会自动设置为最近操作的日期和时间。

VARCHAR(n)
CHARACTER VARYING(n)
CHARACTER VARYING

存储长度可变的字符串,最大长度由 n 指定。末尾的空格不存储。

ENUM

一种串对象,它的值只能是从值列表 ‘value1’, ‘value2’, ..., NULL 中选择的一个值。

一种串对象,它可以具有零个或更多的值,这些值必须从值列表 ‘value1’, ‘value2’, ... 中选择。

BINARY

与 CHAR 类型相似,但是存储二进制字节串而不是字符串。

VARBINARY

与 VARCHAR 类型相似,但是存储二进制字节串而不是字符串。

PostgreSQL 数据类型

数据类型

说明

BIGSERIAL
SERIAL8

存储自动递增的惟一整数,最多 8 字节。

固定长度的位串。

BIT VARYING(n)
VARBIT(n)

可变长度的位串,长度为 n 位。

BOOLEAN

存储逻辑布尔值(true/false/unknown),可以是 TRUE、t、true、y、yes 和 1,或者 FALSE、f、false、n、no 和 0。

BYTEA

用于存储大型二进制对象(比如图形)的原始二进制数据。使用的存储空间是 4 字节加上二进制串的长度。

CHAR(n)
CHARACTER(n)

包含固定长度的字符串,用空格填充到长度 n。

DATE

用 4 字节的存储空间存储日历日期(年、月、日)。

DATETIME

存储日历日期和天内的时间。

DECIMAL(p,s)
NUMERIC(p,s)

存储精确的数值,精度(p)和刻度(s)为 0 或更高。

FLOAT4
REAL

存储浮点数,精度为 8 或更低和 6 个小数位。

FLOAT8
DOUBLE PRECISION

存储浮点数,精度为 16 或更低和 15 个小数位。

SMALLINT

存储有符号或无符号 2 字节整数。

INTEGER

存储有符号或无符号 4 字节整数。

INT8
BIGINT

存储有符号或无符号 8 字节整数。

SERIAL
SERIAL4

存储自动递增的惟一整数值,最多 4 字节存储空间。

TEXT

存储长度可变的大型字符串数据,最多 1 GB。PostgreSQL 自动压缩 TEXT 字符串。

TIME (WITHOUT TIME ZONE |
WITH TIME ZONE)

存储天内的时间。如果不存储数据库服务器的时区,就使用 8 字节的存储空间;如果存储时区,就使用 12 字节。

TIMESTAMP (WITHOUT TIME ZONE |
WITH TIME ZONE)

存储日期和时间。可以存储或不存储数据库服务器的时区,使用 8 字节存储空间。

VARCHAR(n)
CHARACTER VARYING(n)
CHARACTER VARYING

存储可变长度的字符串,最大长度为 n。不存储末尾的空格。

PostgreSQL与MySQL数据类型的对比
分享到:
MySQL与postgresql二个数据库的对比
MySQL与postgresql二个数据库的对比   我们这样的比较不想仅仅成为一份性能测试报告,因为至少从我个人来看,对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会日益提供。而随着硬件性能的飞速提高,速度也不再是什么太大的问题。   一、两者的共同优势   这两个产品都属于...
postgresql数据库的数据如何导入进MySQL...
postgresql数据库的数据如何导入进MySQL数据库 首先还要感谢一下来自大连的Backer同学,给予了一定的启发:) 由于某种不可告人的原因,我们准备把数据库从pg切换到mysql,首先面临的是数据转化问题,指望工具帮你转不大靠谱,还是得手工转,以下是关键步骤 1 将数据库结构先迁移到mysql中,这个用rails的db migrate...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……