PostgreSQL 教程


PostgreSQL教程

PostgreSQL是一个功能强大的对象关系型数据库管理系统,支持SQL标准和ACID事务处理。它是一个开源软件,具有良好的可扩展性和灵活性。

安装

Windows

  1. 访问官方网站,下载适用于Windows的二进制安装程序。

  2. 双击安装程序,并按照提示进行安装。

  3. 安装完毕后,通过开始菜单中的“SQL Shell (psql)”启动命令行界面。

MacOS

  1. 访问官方网站,下载适用于MacOS的二进制安装程序。

  2. 双击安装程序,并按照提示进行安装。

  3. 安装完毕后,通过终端中的“psql”命令启动命令行界面。

Linux

  1. 打开终端,并更新软件源。
sudo apt-get update
  1. 安装PostgreSQL。
sudo apt-get install postgresql
  1. 安装完毕后,通过终端中的“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是一款功能强大的数据库管理系统,为开发人员提供了广泛的可扩展性和灵活性。