【PostgreSQL】数据类型

类型介绍

布尔类型、数值类型、字符类型、二进制数据类型、位串类型、日期和时间类型、枚举类型、几何类型、网络地址类型、数组类型、复合类型、xml类型、json类型、range类型、对象标识符类型、伪类型、其他类型。

布尔类型

boolean类型的状态true,false。如果是 unknown 未知状态,用NUll表示。
布尔类型的操作符:知识链接

数值类型

数值类型列表
类型名称 存储空间 描述 范围
smallint 2字节 小范围整数-215~215-1
int或integer 4字节 最常用的整数-231~231-1
bigint 8字节 大范围的函数 -263~263-1
numeric或decimal 变长 用户声明的指定的精度,精确 无限制
real 4字节 变精度,不精确 6位十进制数字精度
double precision 8字节 变精度,不精确 15位十进制数字精度
serial4字节 自增整数 1~2的31次方-1
bigserial 8字节 大范围的自增函数 1~2的63次方-1

整数类型

分为三种:smallint、int、bigint。
数据库建表及mybatis逆向生成model时,int和integer和int4是等效的、smallint和int2是等效的、bigint和int8是等效的。
int8逆向生成后是javaType会是java.lang.Long、int4是Integer、int2是Short。

精确的小数类型

分为:numeric、numeric(m,n)、numeric(m)。
适用于货币金额和其他要求精确计算的场合,不过在算术运算上要比整数类型和浮点数类型慢很多。
语法:NUMERIC (precision, scale)
其中,精度precision必须为正数,标度scale可以为零或正数。

枚举类型

与MySQL中不同,在PostgreSQL中要使用枚举类型需要先使用CREATETYPE创建一个枚举类型。见下面的例子。
先建一个“week” 的枚举类型,

CREATE TYPE week AS ENUM
('Sun', 'Mon', 'Tues','Wed', 'Thur', 'Fri', 'Sat'); 

然后在建表的时候给字段加上字段类型 week:

CREATE TABLE duty (person text, weekday week) ;

在psql中可以使用“\dT” 命令查看枚举类型的定义:

\dT + week

枚举类型说明

  1. 在枚举类型中,值的顺序是创建枚举类型时定义的顺序。
    比如上面中建的 week ,最小值是Sun,最大值是Sat。
  2. 每个枚举类型都是独立的,不能与其他枚举类型混用。
  3. 一个枚举值在磁盘上占4字节。
  4. 枚举类型的值是大小写敏感的
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jsonCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值