目录 3 章

PostgreSQL数据库 第 1 / 3 章

PostgreSQL基础

960 字 · 约 4 分钟

一、PostgreSQL是什么?

1、PostgreSQL是以4.2版本的POSTGRES为基础的对象关系型数据库管理系统(ORDBMS),它是由美国加州大学伯利克分校计算机系开发的。

2、它提供了许多现代化功能:
  1. 复杂查询
  2. 外健
  3. 触发器
  4. 可更新的视图
  5. 事物完整性
  6. 多版本并发控制

还可以通过多种方式由用户扩展,例如添加新的

  1. 数据类型
  2. 函数
  3. 操作符
  4. 聚合函数
  5. 索引方法
  6. 过程语言
3、本书内容约定
  1. 方括号[]表示可选部分
  2. 大括号{}和竖线|表示必须从其中选择一个替代方案
  3. 点号(...)表示前面的元素可复用
  4. 所有其他符号包括括号应该安字面意思理解
  5. shell命令提示符$,sql命令提示符=>
4、架构基础

在数据库术语里,postgresql使用一种客户端/服务器的模型,一次postgresql会话由下列的相关进程组成:

1)服务器进程:

  1. 管理数据库文件
  2. 接收来自客户端应用与数据库连接
  3. 代表客户端在数据库上执行操作

2)需要执行数据库操作的用户的客户端目标守护者服务器进程

5、数据库

1)使用postgresql管理员创建、删除数据库。createdb dbname和dropdb dabname

2)访问数据库

  1. 运行psql交互式终端程序,交互式输入、编辑和执行sql命令。
  2. 使用图形化的前段工具。
  3. 使用多语言绑定中的一种编写自定义程序。

二、SQL语言

1、引言

SQL(Structured Query Language,结构化查询语言)是用于管理关系型数据库的标准语言。

SQL按用途通常分为以下几类:

1)DDL(Data Design Language,数据定义语言)

用于定义和修改数据库结构。

  1. create:创建数据库、表、视图、索引等
  2. ALTER:修改表结构
  3. DROP:删除对象
  4. TRUNCATE:清空表数据
2)DML(Data Manipulation Language,数据操作语言)

用于操作表中的数据。

  1. SELECT:查询数据
  2. INSERT:插入数据
  3. UPDATE:更新数据
  4. DELETE:删除数据
3)DCL(Data Control Language,数据控制语言)

用于权限和事物控制。

  1. GRANT:授予权限
  2. REVOKE:收回权限
  3. COMMIT/ROLLBACK/SAVEPOINT:事物控制
4)TCL(Thing Control Language,事物控制语言)

有时单独列出,包括COMMIT、ROLLBACK、SAVEPOINT等。

在PostgreSQL中,运行以下命令:

$ psql -s mydb

... mydb=> \i basics.sql

解释:
\i命令从指定的文件中读取命令。
psql的-s选项把你置于单步模式,它在向服务器发送每个语句之前暂停。

2、PostgreSQL概念
1)PostgreSQL

是一种关系型对象数据库管理系统,这意味着它是一种用于管理存储在关系中的数据的系统。

所谓关系,实际上就是表的数学术语,把数据存储在表里的概念已经成为固有的常识了。但是还有其他方法用于组织数据库,譬如Unix系统上的文件和目录就形成了一种层次数据库的例子。更现代的发展是面向对象数据库。

2)表

表是一个命了名的行集合。

一个给定表的没一行由同一组的命名列组成,每一列都有一个特定的数据类型。命名的列称为字段(field)。

虽然列在每行里的顺序是固定的,但sql并不对行在表中的顺序做任何保证。

表被分组到数据库中,由单个Postgresql服务器实例管理的全部数据库的集合,组成了一个数据库集簇。

← 返回目录