Postgresql9.6中的数字和字符类型

注:红色的为常用类型

数字类型

名字存储尺寸描述范围
smallint2字节小范围整数-32768 to +32767
integer4字节整数的典型选择-2147483648 to +2147483647
bigint8字节大范围整数-9223372036854775808 to +9223372036854775807
decimal可变用户指定精度,精确最高小数点前131072位,以及小数点后16383位
numeric可变用户指定精度,精确最高小数点前131072位,以及小数点后16383位
real4字节可变精度,不精确6位十进制精度
double precision8字节可变精度,不精确15位十进制精度
smallserial2字节自动增加的小整数1到32767
serial4字节自动增加的整数1到2147483647
bigserial8字节自动增长的大整数1到9223372036854775807

1.常用的类型是integer,因为它提供了在范围、存储空间和性能之间的最佳平衡。一般只有在磁盘空间紧张/范围不够的时候才考虑使用 smallint/bigint类型。

2.类型decimal和numeric是等效的。两种类型都是SQL标准的一部分。

NUMERIC(precision, scale)

一个numeric的比例scale是到小数部分的位数,numeric的精度precision是整个数字里全部位的数目。

3.数据类型real和double precision是不准确的、变精度的数字类型。

字符类型

名字描述
character varying(n), varchar(n)有限制的变长
character(n), char(n)定长,空格填充
text无限变长

1. 在PostgreSQL里。character(n)通常是这三种类型之中最慢的一个,因为它需要额外的存储开销。在大多数情况下,应该使用text或者character varying。
2. 字符类型允许存储的最长字串大概是 1 GB。 (允许在数据类型声明中出现的的 n 的最大值比这还小)
3. 如果你想存储没有特定上限的长字串,那么使用 text 或者没有长度声明词的 character varying

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值