在PostgreSQL中,您可以使用以下语法定义各种数据类型:
数值类型:
smallint, integer, bigintreal, double precision, numeric(可以指定精度和标度)decimal(可以指定精度和标度)bit, bit varying, varbit(bit varying可以指定长度,varbit是bit varying的别名)日期和时间类型:
datetime(可以指定精度)timestamp(可以指定时区)timestamptz(时区感知的时间戳)intervalinterval(与interval相同,但用于表示周期)字符串类型:
character varying(可以指定最大长度,通常简写为varchar)char(可以指定固定长度)textcitext(不区分大小写的文本比较)二进制数据类型:
byteavarbinary(与bytea相同,但用于表示可变长度的二进制数据)布尔类型:
boolean(true或false)枚举类型:
enum(定义一组预定义的字符串值)JSON数据类型:
jsonjsonb(存储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的表,其中包含各种数据类型的字段。