PostgreSQL 语法

PostgreSQL 语法

PostgreSQL 是一种功能强大的开源关系数据库管理系统,它以其稳定性、支持性、安全性和高级功能而闻名。本文将详细介绍 PostgreSQL 的基本语法,包括数据库和表的操作、查询语句、索引、触发器等。

数据库操作

创建数据库

sql 复制代码
CREATE DATABASE database_name;

删除数据库

sql 复制代码
DROP DATABASE database_name;

选择数据库

sql 复制代码
\c database_name;

表操作

创建表

sql 复制代码
CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
    ...
);

删除表

sql 复制代码
DROP TABLE table_name;

修改表

添加列
sql 复制代码
ALTER TABLE table_name
ADD column_name datatype;
删除列
sql 复制代码
ALTER TABLE table_name
DROP COLUMN column_name;
修改列数据类型
sql 复制代码
ALTER TABLE table_name
ALTER COLUMN column_name SET DATA TYPE new_datatype;

数据操作

插入数据

sql 复制代码
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

更新数据

sql 复制代码
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

删除数据

sql 复制代码
DELETE FROM table_name
WHERE condition;

查询语句

选择数据

sql 复制代码
SELECT column1, column2, ...
FROM table_name
WHERE condition;

排序数据

sql 复制代码
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

聚合函数

sql 复制代码
SELECT COUNT(column_name)
FROM table_name
WHERE condition;

连接查询

内连接
sql 复制代码
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
左连接
sql 复制代码
SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
右连接
sql 复制代码
SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

索引

创建索引

sql 复制代码
CREATE INDEX index_name
ON table_name (column1, column2, ...);

删除索引

sql 复制代码
DROP INDEX index_name;

触发器

创建触发器

sql 复制代码
CREATE TRIGGER trigger_name
BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name
FOR EACH ROW
EXECUTE FUNCTION function_name();

删除触发器

sql 复制代码
DROP TRIGGER trigger_name ON table_name;

结语

PostgreSQL 的语法非常丰富,本文仅介绍了其基础部分。要成为一名熟练的 PostgreSQL 用户,还需要不断学习和实践。希望本文能为您在 PostgreSQL 的学习之旅中提供帮助。

相关推荐
春日见15 小时前
win11 分屏设置
java·开发语言·驱动开发·docker·单例模式·计算机外设
2301_7800290415 小时前
支付宝sdk导入错误
java·开发语言·maven
2501_9445255416 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
16 小时前
java关于内部类
java·开发语言
好好沉淀16 小时前
Java 项目中的 .idea 与 target 文件夹
java·开发语言·intellij-idea
lsx20240616 小时前
FastAPI 交互式 API 文档
开发语言
VCR__16 小时前
python第三次作业
开发语言·python
码农水水16 小时前
得物Java面试被问:消息队列的死信队列和重试机制
java·开发语言·jvm·数据结构·机器学习·面试·职场和发展
wkd_00716 小时前
【Qt | QTableWidget】QTableWidget 类的详细解析与代码实践
开发语言·qt·qtablewidget·qt5.12.12·qt表格
东东51616 小时前
高校智能排课系统 (ssm+vue)
java·开发语言