数据类型
1.1 数字类型
PostgreSQL 支持的数字类型有整数类型,用户指定精度类型,浮点型,serial类型。
数字类型列表
smallint,integre,bigint 都是整数类型,存储一定范围的整数,超出范围将会报错。
smallint存储2字节的整数,字段定义时可写成int2。
integer存储4字节整数,支持的数值范围比smallint大,字段定义时可写成int4,是最常用的整数类型。
bigint存储8字节整数,支持的数值范围比integer大,字段定义时可写成int8。
对于大多数使用整数类型的场景用integer就够了,除非integer范围不够用的情况下才使用bigint。
定义一张使用integer类型的表如下所示:
CREATE TABLE test_integer (ID1 integer,ID2 int4);
decimal和numeric是等效的,可以存储指定精度的多位数据,比如带小数位的数据,适用于要求计算准确的数值运算。
声明numeric的语法如下所示:
numeric (precision,scale)
precision是指numeric数字里的全部为数,scale是指小数部分的数字位数,例如18.222的precision为5,而scale为3;precision必须为正整数,scale可以是0或整数,由于muneric类型上的算术运算相比整数类型性能低,因此,如果两种数据类型都能满足业务需求,从性能上考虑不建议使用numeric数据类型。
real 和 double precision是指浮点型数据类型,real支持4字节,double precision 支持8字节,浮点数据类型在实际生产案例的使用相比整数类型会少些。
smallserial,serial和bigserial类型是指自增serial类型,严格意义上不能称之为一种数据类型:
- 未完待续…