PostgreSQL – 备忘单
PostgreSQL是一个功能强大的开源对象关系数据库系统,旨在帮助开发人员构建应用程序、管理员保护数据完整性和构建容错环境。它支持高级数据类型和性能优化功能,如 Ms-SQL Server 和 Oracle。
PostgreSQL 的特点:
- 开源数据库管理系统
- 支持 ACID 属性
- 多样化的索引技术
- 基于日志和基于触发器的复制 SSL
- 支持 JSON
- 支持地理对象
- 面向对象且兼容 ANSI-SQL 2008
PostgreSQL 中的数据类型:
下表列出了 PostgreSQL 中可用的所有数据类型: PostgreSQL Data TypesNumeric Character Date/Time Monetary Binary Boolean Geometric JSON Enumerated Text-Search UUID Network Address Types Composite Object Identifiers Pseudo BitString XML Range Arrays pg_lsn
- 数字 数据类型: smallint、integer、bigint、decimal、numeric、real、serial。
- 字符数据类型: varchar(n)、text、char(n)。
- 日期/时间数据类型:时间戳、日期、时间、间隔。
- 货币数据类型:货币。
- 二进制数据类型: bytea(支持十六进制和转义格式)。
- 布尔数据类型:布尔值。
- 几何数据类型:点、线、框、路径、多边形、圆、lseg。
- JSON 数据类型:字符串、数字、布尔值、空值。
- 枚举数据类型:枚举。
- UUID 数据类型: uuid(存储通用唯一标识符)。
- 网络地址类型:cidr、inet、macaddr。
- 伪类型: any、anyelement、anyarray、anyenum、anyrange、internal、record、trigger、event_trigger。
- BitString 类型:位(n),位变化(n)。
- 范围数据类型:int4range、int8range、numrange、tsrange(时间戳范围)、daterange。
- pg_lsn 类型:pg_lsn(存储日志序列号)。
PostgreSQL 中的运算符:
运算符操作单个数据项并返回结果。这些是 WHERE 子句中用于执行操作的保留字。 OperatorsArithmetic Operators +, -, *, /, %, ^, ! Comparison Operators =, !=, <>, >, <, >=, <= Logical Operators AND, NOT, OR Bitwise Operators &, |
安装:
- 要安装 PostgreSQL,请运行以下命令:
sudo apt install postgresql
OR
sudo apt install postgresql postgresql-contrib
postgresql-contrib将添加一些额外的实用程序和功能。
- 安装完成后,切换到Postgres账号:
sudo -i -u postgres
- 现在,您可以使用psql访问 Postgres 提示符 命令。
使用数据库:
CREATE DATABASE命令用于创建数据库。
句法:
CREATE DATABASE database_name;
例子:
现在,为了存储数据,我们需要表格。 CREATE TABLE语句用于创建表。
句法:
CREATE TABLE table_name
(column_1 data_type,
column_2 data_type,
...
column_n data_type);
例子:
INSERT命令用于将新记录(行)插入表中。
句法:
INSERT INTO table_name (column_1, column_2 ,...)
VALUES(value_1, value_2, ...);
例子:
SELECT语句用于从数据库表中获取数据,该语句以结果表的形式返回数据。
句法:
SELECT
column_1, column_2, .. column_n
FROM
table_name;
例子:
Note: We can fetch all the fields of the table using an asterisk(*) sign.
WHERE子句用于过滤 SELECT 语句返回的结果。
句法:
SELECT column_name
FROM
table_name
WHERE condition;
例子:
LIMIT子句用于获取查询生成的行的子集。它是 SELECT 语句的可选子句。 OFFSET n在开始返回行之前跳过“n”行。
句法:
SELECT *
FROM table_name
LIMIT n;
例子:
可以使用ALTER TABLE语句修改现有表的结构。 PostgreSQL 支持使用 ALTER TABLE 执行的各种操作,如下所示:
- 向现有表添加列
ALTER TABLE table_name ADD COLUMN new_column_name TYPE;
- 从现有表中删除一列
ALTER TABLE table_name DROP COLUMN column_name;
- 重命名现有表中的列
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
- 重命名现有表中的列
ALTER TABLE table_name ALTER COLUMN column_name [SET DEFAULT value | DROP DEFAULT];
- 更改 NOT NULL 约束
ALTER TABLE table_name ALTER COLUMN column_name [SET NOT NULL| DROP NOT NULL];
- 向列添加 CHECK 约束
ALTER TABLE table_name ADD CHECK expression;
- 添加约束
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
- 重命名现有表
ALTER TABLE table_name RENAME TO new_table_name;
UPDATE语句用于更新或修改表中的现有数据。
句法:
UPDATE table_name
SET column_1 = value_1,
column_2 = value_2, ...
WHERE
condition_1 AND condition_2;
例子:
DELETE语句用于从表中删除行。
句法:
DELETE FROM table_name
WHERE condition;
例子: