PostgreSQL数据类型全解析:从基础到进阶
发表时间: 2024-06-08 19:21
哈喽,大家好,我是木头左!
在当今这个数据驱动的时代,数据库已经成为了企业和个人不可或缺的工具。而在众多数据库产品中,PostgreSQL以其强大的功能和高度的可扩展性,受到了越来越多开发者的青睐。那么,PostgreSQL支持哪些数据类型呢?本文将为大家详细解析,并通过建表语句举例说明。让一起揭开PostgreSQL神秘的面纱吧!
PostgreSQL支持复合数据类型,可以将多个数据类型组合在一起。例如,数组(array)、记录(record)、结构体(struct)等。这些复合数据类型的定义和使用方式较为复杂,需要根据实际需求进行选择和使用。
CREATE TABLE user ( id SERIAL PRIMARY KEY, -- 主键ID,自增序列 name VARCHAR(50) NOT NULL, -- 用户名,长度为50个字符,不能为空 email VARCHAR(100) NOT NULL, -- 邮箱,长度为100个字符,不能为空 age INTEGER, -- 年龄,整数类型 created_at TIMESTAMP NOT NULL DEFAULT current_timestamp, -- 创建时间,默认为当前时间戳 updated_at TIMESTAMP NOT NULL DEFAULT current_timestamp ON UPDATE current_timestamp -- 更新时间,默认为当前时间戳,自动更新为当前时间戳);
CREATE TABLE order ( id SERIAL PRIMARY KEY, -- 主键ID,自增序列 user_id INTEGER REFERENCES user(id), -- 用户ID,外键关联用户表的id字段 product_name VARCHAR(100) NOT NULL, -- 产品名称,长度为100个字符,不能为空 quantity INTEGER NOT NULL, -- 数量,整数类型,不能为空 total_price DECIMAL(10, 2) NOT NULL -- 总价,十进制数类型,保留两位小数,不能为空);
CREATE TABLE product ( id SERIAL PRIMARY KEY, -- 主键ID,自增序列 name VARCHAR(100) NOT NULL, -- 商品名称,长度为100个字符,不能为空 price DECIMAL(10, 2) NOT NULL -- 价格,十进制数类型,保留两位小数,不能为空);CREATE TABLE order_detail ( id SERIAL PRIMARY KEY, -- 主键ID,自增序列 order_id INTEGER REFERENCES order(id), -- 订单ID,外键关联订单表的id字段 product_id INTEGER REFERENCES product(id), -- 商品ID,外键关联商品表的id字段 quantity INTEGER NOT NULL -- 数量,整数类型,不能为空);
我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!