📜  postgre (1)

📅  最后修改于: 2023-12-03 15:33:44.219000             🧑  作者: Mango

PostgreSQL - 高级开源关系型数据库

PostgreSQL 是一个高级开源的关系型数据库,它具有许多先进的功能,如复杂的查询优化、事务管理以及全面支持 SQL 语言的完整功能等。它还可扩展性强,可通过插件进行扩展,支持并发操作和 ACID(原子性、一致性、隔离性和持久性)事务处理等功能。

PostgreSQL 具有许多特点,包括:

  • 可靠性:完全事务支持,即使在系统崩溃时也能保证数据的一致性。
  • 可扩展性:支持多种方式的扩展,如增加硬件和添加新的节点等。
  • 安全性:支持各种安全特性,如数据加密、认证和角色管理等。
  • 兼容性:支持 SQL 标准,并具有扩展 SQL 的灵活性。
  • 开源性:完全开源,可在自由软件许可下进行使用、修改和发行。
安装 PostgreSQL

在 Linux 系统中可以通过以下命令安装 PostgreSQL:

sudo apt-get install postgresql

在 Windows 平台上,可通过从官方网站下载适用于您的操作系统的安装程序进行安装。

连接 PostgreSQL

要连接 PostgreSQL 数据库,您需要安装适当的客户端。有许多客户端可供选择,其中包括:

  • pgAdmin:适用于 Windows 和 Linux 的跨平台开发和管理工具。
  • psql:适用于 Linux、Windows 和 macOS 的命令行接口。
  • Navicat for PostgreSQL:一款跨平台的 GUI 数据库管理工具,支持 Windows、macOS 和 Linux。

用 psql 连接 PostgreSQL 数据库:

psql -h hostname -U username -d databasename
  • -h:主机名或 IP 地址。
  • -U:用户名。
  • -d:要连接的数据库名称。
PostgreSQL SQL

PostgreSQL 完全支持 SQL 标准,并提供了大量扩展,以满足更高级别的功能需求。以下是一些示例 SQL 语句:

创建表

创建表的通用语法:

CREATE TABLE table_name (
    column1 datatype [optional_parameters] constraint,
    column2 datatype [optional_parameters] constraint,
    column3 datatype [optional_parameters] constraint,
    ...
);

创建一个名为 users 的简单表:

CREATE TABLE users (
    id serial PRIMARY KEY,
    username varchar UNIQUE NOT NULL,
    password varchar NOT NULL,
    email varchar NOT NULL,
    created_on timestamp NOT NULL DEFAULT now()
);
查询表数据

查询表数据的语法:

SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column1 [ASC|DESC]];

查询 users 表中的所有数据:

SELECT * FROM users;
插入数据

向表中插入数据的语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

users 表中插入一条新记录:

INSERT INTO users (username, password, email)
VALUES ('john.doe', 'qwerty', 'john.doe@example.com');
更新数据

更新表中数据的语法:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

users 表中 ID 为 1 的记录的用户名更新为 jane.doe

UPDATE users
SET username = 'jane.doe'
WHERE id = 1;
删除数据

删除表中数据的语法:

DELETE FROM table_name
WHERE condition;

users 表中删除 ID 为 2 的记录:

DELETE FROM users
WHERE id = 2;
结论

PostgreSQL 是一款开源、高可靠性的关系型数据库,适用于各种规模的应用。它支持 SQL 标准,并具有扩展 SQL 的灵活性。如果您正在寻找一个功能强大、可扩展性强、可靠性高的数据库,那么 PostgreSQL 是绝对值得考虑的一个选择。