3.pgsql数据类型学习

1.概述

弄好pgsql的环境后,我大概玩了一下,并且数了下里面的数据类型,发现至少有一百多种,WTF?

PostgreSQL 有着丰富的内置数据类型可用。用户还可以使用 CREATE TYPE 命令增加新的数据类型(摘抄官网)。

PostgreSQL文档地址

https://www.yiibai.com/manual/postgresql/index.html

查看官方文档后发现很多都是因历史原因 PostgreSQL 在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以使用,但没有再这类列出,在使用pgAdmin创建表的时候可以看到。

 

普通数据类型

名字 别名 描述
bigint int8 有符号 8 字节整数
bigserial serial8 自增 8 字节整数
bit [ (n) ]   定长位串
bit varying [ (n) ] varbit 变长位串
boolean bool 逻辑布尔值(真/假)
box   平面中的矩形
bytea   二进制数据("字节数组")
character varying [ (n) ] varchar [ (n) ] 变长字符串
character [ (n) ] char [ (n) ] 定长字符串
cidr   IPv4 或 IPv6 网络地址
circle   平面中的圆
date   日历日期(年, 月, 日)
double precision float8 双精度浮点数字
inet   IPv4 或 IPv6 网络地址
integer int, int4 有符号 4 字节整数
interval [ (p) ]   时间间隔
line   平面中的无限长直线
lseg   平面中的线段
macaddr   MAC 地址
money   货币金额
numeric [ (ps) ] decimal [ (ps) ] 可选精度的准确数字
path   平面中的几何路径
point   平面中的点
polygon   平面中的封闭几何路径
real float4 单精度浮点数
smallint int2 有符号 2 字节整数
serial serial4 自增 4 字节整数
text   变长字符串
time [ (p) ] [ without time zone ]   一天中的时间
time [ (p) ] with time zone timetz 一天里的时间,包括时区
timestamp [ (p) ] [ without time zone ]   日期和时间
timestamp [ (p) ] with time zone timestamptz 日期和时间,包括时区

数值类型

名字 存储空间 描述 范围
smallint 2 字节 小范围整数 -32768 到 +32767
integer 4 字节 常用的整数 -2147483648 到 +2147483647
bigint 8 字节 大范围的整数 -9223372036854775808 到 9223372036854775807
decimal 变长 用户声明精度,精确 无限制
numeric 变长 用户声明精度,精确 无限制
real 4 字节 变精度,不精确 6 位十进制数字精度
double precision 8 字节 变精度,不精确 15 位十进制数字精度
serial 4 字节 自增整数 1 到 2147483647
bigserial 8 字节 大范围的自增整数 1 到 9223372036854775807

字符类型

名字 描述
character varying(n), varchar(n) 变长,有长度限制
character(n), char(n) 定长,不足补空白
text 变长,无长度限制

 特殊字符类型

名字 存储空间 描述
"char" 1 字节 单字节内部类型
name 64 字节 用于对象名的内部类型

二进制数据类型

名字 存储空间 描述
bytea 4 字节加上实际的二进制字符串 变长的二进制字符串

bytea 文本逃逸八进制

十进制数值 描述 输入逃逸形式 例子 输出形式
0 八进制的零 E'\\000' SELECT E'\\000'::bytea; \000
39 单引号 '''' 或 E'\\047' SELECT E'\''
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值