PostgreSQL 教程
PostgreSQL教程
PostgreSQL是一个功能强大的对象关系型数据库管理系统,支持SQL标准和ACID事务处理。它是一个开源软件,具有良好的可扩展性和灵活性。
安装
Windows
-
访问官方网站,下载适用于Windows的二进制安装程序。
-
双击安装程序,并按照提示进行安装。
-
安装完毕后,通过开始菜单中的“SQL Shell (psql)”启动命令行界面。
MacOS
-
访问官方网站,下载适用于MacOS的二进制安装程序。
-
双击安装程序,并按照提示进行安装。
-
安装完毕后,通过终端中的“psql”命令启动命令行界面。
Linux
- 打开终端,并更新软件源。
sudo apt-get update
- 安装PostgreSQL。
sudo apt-get install postgresql
- 安装完毕后,通过终端中的“psql”命令启动命令行界面。
基本概念
数据类型
PostgreSQL支持多种数据类型,包括整数、浮点数、日期、时间以及自定义类型。
表
表是存储数据的基本单位。它由列和行组成,每个列定义了一个特定类型的数据,每一行按照定义的列顺序组合出一条记录。
约束
约束用于限制表中的数据,包括主键约束、唯一约束、检查约束和外键约束等。
索引
索引用于快速搜索表中的数据,可以根据一个或多个列的值对表中的记录进行排序。
视图
视图是一个虚拟的表,由SELECT语句创建,包含一些列或行的子集。
基本操作
创建数据库
CREATE DATABASE mydb;
连接数据库
\c mydb;
创建表
CREATE TABLE users (
id SERIAL,
name VARCHAR(50) NOT NULL,
age INTEGER,
PRIMARY KEY (id)
);
插入数据
INSERT INTO users(name, age) VALUES('Alice', 30);
INSERT INTO users(name, age) VALUES('Bob', 25);
INSERT INTO users(name, age) VALUES('Charlie', 40);
查询数据
SELECT * FROM users;
SELECT name FROM users WHERE age > 30;
更新数据
UPDATE users SET age = 35 WHERE name = 'Alice';
删除数据
DELETE FROM users WHERE age > 35;
高级操作
事务
PostgreSQL支持ACID事务处理,保证在多个操作同时进行时的数据一致性。
BEGIN;
UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;
COMMIT;
触发器
触发器是在表上执行的自动化程序,它们在表中的行被插入、更新或删除时自动执行。
CREATE TRIGGER mytrigger
AFTER INSERT OR UPDATE OR DELETE ON users
FOR EACH ROW
EXECUTE PROCEDURE myfunction();
外部表
外部表提供了连接到外部数据源的机制,可以将外部数据通过PostgreSQL进行处理和查询。
CREATE FOREIGN TABLE mytable (
column1 datatype1,
column2 datatype2,
...
)
SERVER myserver
OPTIONS (option1 'value1', option2 'value2', ...);
总结
本教程介绍了PostgreSQL的基本概念和操作,包括数据类型、表、约束、索引、视图等。它也包括高级操作,如事务、触发器和外部表。PostgreSQL是一款功能强大的数据库管理系统,为开发人员提供了广泛的可扩展性和灵活性。