您的位置:宽带测速网 > 网络知识 > postgresql数据类型怎么定义

postgresql数据类型怎么定义

2025-06-16 18:17来源:互联网 [ ]

在PostgreSQL中,您可以使用以下语法定义各种数据类型:

    数值类型:

    整数类型:smallint, integer, bigint浮点类型:real, double precision, numeric(可以指定精度和标度)定点类型:decimal(可以指定精度和标度)数值类型别名:bit, bit varying, varbitbit varying可以指定长度,varbitbit varying的别名)

    日期和时间类型:

    日期类型:date时间类型:time(可以指定精度)日期时间类型:timestamp(可以指定时区)时间戳类型:timestamptz(时区感知的时间戳)日期时间间隔类型:interval周期类型:interval(与interval相同,但用于表示周期)

    字符串类型:

    字符串类型:character varying(可以指定最大长度,通常简写为varchar)固定长度字符串类型:char(可以指定固定长度)文本类型:text字符串类型别名:citext(不区分大小写的文本比较)

    二进制数据类型:

    二进制数据类型:bytea二进制数据类型别名:varbinary(与bytea相同,但用于表示可变长度的二进制数据)

    布尔类型:

    布尔类型:booleantruefalse

    枚举类型:

    枚举类型:enum(定义一组预定义的字符串值)

    JSON数据类型:

    JSON数据类型:jsonJSONB数据类型:jsonb(存储JSON数据的二进制格式,支持索引和查询优化)

    数组类型:

    数组类型:array(例如integer[], varchar[]等)

    元组类型:

    元组类型:record(定义一个记录类型,包含多个字段)元组类型别名:row(与record相同,但用于表示行类型)

    集合类型:

    集合类型:hstore(键值对的哈希表)集合类型:jsonb[](JSONB数组的数组)集合类型:integer[](整数数组的数组)

以下是一些示例:

CREATE TABLE example_table (id SERIAL PRIMARY KEY,name VARCHAR(255) NOT NULL,age SMALLINT,salary NUMERIC(10, 2),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,is_active BOOLEAN NOT NULL,hobbies TEXT[],address RECORD(street VARCHAR(255),city VARCHAR(255),country VARCHAR(255)));

在这个示例中,我们定义了一个名为example_table的表,其中包含各种数据类型的字段。