设计简单的网站,网站建设套模版,百度输入法,网站内容被删除怎么取消收录哈喽#xff0c;大家好#xff0c;我是木头左#xff01; 一、引言
在当今这个数据驱动的时代#xff0c;数据库已经成为了企业和个人不可或缺的工具。而在众多数据库产品中#xff0c;PostgreSQL以其强大的功能和高度的可扩展性#xff0c;受到了越来越多开发者的青睐。… 哈喽大家好我是木头左 一、引言
在当今这个数据驱动的时代数据库已经成为了企业和个人不可或缺的工具。而在众多数据库产品中PostgreSQL以其强大的功能和高度的可扩展性受到了越来越多开发者的青睐。那么PostgreSQL支持哪些数据类型呢本文将为大家详细解析并通过建表语句举例说明。让一起揭开PostgreSQL神秘的面纱吧
二、PostgreSQL支持的数据类型
1. 数值型数据类型
(1) 整型数据类型
(2) 浮点型数据类型 2. 字符型数据类型
char固定长度的字符串长度范围为1到10个字符varchar可变长度的字符串长度范围为1到1048576个字符text最长可达到1GB的文本数据
3. 日期和时间型数据类型
date日期类型格式为’YYYY-MM-DD’time时间类型格式为’HH:MI:SS’或’HH:MM:SS AM’/‘PM’timestamp时间戳类型表示从’1970-01-01 00:00:0000’到指定时间的秒数精确到纳秒interval间隔类型表示两个日期或时间之间的时间间隔以天、小时、分钟、秒为单位
4. 布尔型数据类型
boolean布尔类型只有两个值true和false
5. 复合数据类型
PostgreSQL支持复合数据类型可以将多个数据类型组合在一起。例如数组array、记录record、结构体struct等。这些复合数据类型的定义和使用方式较为复杂需要根据实际需求进行选择和使用。
三、建表语句实例
1. 创建一个用户表user
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 -- 更新时间默认为当前时间戳自动更新为当前时间戳
);2. 创建一个订单表order
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 -- 总价十进制数类型保留两位小数不能为空
);3. 创建一个商品表product和订单详情表order_detail
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 -- 数量整数类型不能为空
);我是木头左感谢各位童鞋的点赞、收藏我们下期更精彩