什么是数据类型
数据类型定义是指在编程语言中,为了方便操作和处理不同类型的数据,定义了一些数据类型,用于表示不同种类的数据和限制数据的取值范围。常见的数据类型包括整型、浮点型、字符型、布尔型等。
整型数据类型表示整数,可以是正数、负数或零。浮点型数据类型表示带小数点的实数,可以是正数、负数或零。字符型数据类型表示单个字符,如字母、数字、符号等。布尔型数据类型只有两个值,即真(true)和假(false),用于表示逻辑判断结果。
除了这些基本数据类型,编程语言还可以定义自定义数据类型。自定义数据类型可以是结构体、枚举、类等,用于将多个不同类型的数据组合成一个整体,并可以定义自己的操作和属性。
数据类型的定义可以帮助编程语言实现类型检查和类型转换,保证数据的合法性和正确性,提高代码的可读性和健壮性。
PostgreSQL有哪些类型
PostgreSQL类型可以分为如下几类
- 数值类型
- 货币类型
- 字符类型
- 二进制数据类型
- 日期/时间类型
- 布尔类型
- 枚举类型
- 几何类型
- 网络地址类型
- 位字符串类型
- 文本搜索类型
- UUID 类型
- XML类型
- JSON类型
- 数组
- 复合类型
- 范围类型
- 域类型
- 对象标识符类型
- pg_lsn类型
- 伪类型
PostgreSQL自定义类型
PostgreSQL 有一组丰富的本机数据类型可供用户使用。用户可以使用 CREATE TYPE 命令向 PostgreSQL 添加新类型。
可以使用 CREATE TYPE命令创建
PostgreSQL的系统类型表(系统类型保留名称表)
名字 | 别名 | 描述 |
---|---|---|
bigint | int | 有符号的八字节整数 |
bigserial | serial8 | 自动递增八字节整数 |
bit [ (n) ] | 固定长度的位串 | |
bit varying [ (n) ] | varbit [ (n) ] | 可变长度位串 |
boolean | bool | 逻辑布尔值 (true/false) |
box | 平面上的矩形框 | |
bytea | 二进制数据(“字节数组”) | |
character [ (n) ] | char [ (n) ] | 固定长度字符串 |
character varying [ (n) ] | varchar [ (n) ] | 可变长度字符串 |
cidr | IPv4 或 IPv6 网络地址 | |
circle | 在平面上圆圈 | |
date | 日历日期(年、月、日) | |
double precision | float8 | 双精度浮点数(8 字节) |
inet | IPv4 或 IPv6 主机地址 | |
integer | int,int4 | 有符号的四字节整数 |
interval [ fields ] [ § ] | 时间跨度 | |
json | 文本 JSON 数据 | |
jsonb | 二进制 JSON 数据,分解 | |
line | 平面上的无限条线 | |
lseg | 平面上的线段 | |
macaddr | MAC(媒体访问控制)地址 | |
macaddr8 | MAC(媒体访问控制)地址(EUI-64 格式) | |
money | 货币金额 | |
numeric [ (p, s) ] | decimal [ (p, s) ] | 可选精度的精确数值 |
path | 平面上的几何路径 | |
pg_lsn | PostgreSQL数据库日志序列号 | |
pg_snapshot | 用户级事务 ID 快照 | |
point | 平面上的几何点 | |
polygon | 平面上的闭合几何路径 | |
real | float4 | 单精度浮点数(4 字节) |
smallint | int2 | 有符号双字节整数 |
smallserial | serial2 | 自动递增双字节整数 |
serial | serial4 | 自动递增四字节整数 |
text | 可变长度字符串 | |
time [ § ] [ without time zone ] | 一天中的时间(无时区) | |
time [ § ] with time zone timetz | 一天中的时间,包括时区 | |
timestamp [ § ] [ without time zone ] | 日期和时间(无时区) | |
timestamp [ § ] with time zone | timestamptz | 日期和时间,包括时区 |
tsquery | 文本搜索查询 | |
tsvector | 文本搜索文档 | |
txid_snapshot | 用户级事务 ID 快照(已弃用;请参阅pg_snapshot) | |
uuid | 通用唯一标识符 | |
xml | XML 数据 |