246 人学过
本实验简要介绍PostgreSQL数据库和 Python 的psycopg2模块,以及Python程序如何建立与PostgreSQL数据库的连接。
PostgreSQL 是一个强大的、开源的对象-关系型数据库系统。PostgreSQL有超过 15 年的活跃的开发阶段,PostgreSQL的经过验证的架构在可靠性、数据完整性和正确性方面为其赢得了良好的声誉。
要使用 Python 与 PostgreSQL 通信,需要安装 psycopg,这是一个为 Python 编程提供的适配器,其当前版本是psycopg2。
psycopg2 具有简单、快速和稳定的特性,可通过PIP(python 的包管理器)获得。
PostgreSQL安装好以后,首先需要创建数据库,这是使用PostgreSQL各种功能的前提。本实验主要介绍如何在PostgreSQL中创建数据库。
在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。 本实验主要介绍如何使用 CREATE TABLE 语句在 PostgreSQL 的数据库中创建新数据表和要使用 python 创建数据表。
存储在系统中的数据是数据库管理系统的核心。在使用数据库之前,数据库中必须要有数据。本实验主要介绍在PostgreSQL中,使用INSERT语句向数据库表中插入新的数据记录,可以插入的方式有插入完整的记录、插入记录的一部分、插入多条记录以及插入另一个查询的结果。
数据库管理系统的一个重要功能就是提供数据查询。本实验主要介绍使用 SELECT 语句检索 PostgreSQL 中现有表的内容。在SELECT语句中,我们需要指定要查询的表的名称。SELECT语句执行后会以表格的格式返回其内容,称为结果集。 以下是 PostgreSQL 中 SELECT 语句的语法
SELECT column1, column2, columnN FROM table_name;
在执行 SELECT、UPDATE 或 DELETE 操作时,可以使用 WHERE 子句指定条件来过滤记录。只对满足给定条件的记录执行操作。 以下是 PostgreSQL 中 WHERE 子句的语法
SELECT column1, column2, columnN
FROM table_name
WHERE [search_condition]
我们可以使用比较或逻辑运算符指定搜索条件。像>、<、=、LIKE、NOT 等。
通常,我们从数据表中检索数据,得到的记录将按照它们插入表中的先后次序排列。在检索表的记录时使用ORDER BY子句,我们可以根据需要将检索到的结果记录按照某些列升序或降序排序。
以下是 PostgreSQL 中 ORDER BY 子句的语法。
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
我们可以使用 UPDATE 语句修改 PostgreSQL 中表的现有记录的内容。要更新特定行时,需要搭配使用 WHERE 子句。
以下是 PostgreSQL 中 UPDATE 语句的语法
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
我们可以使用PostgreSQL 数据库的DELETE FROM语句删除现有表中的记录。要删除特定记录,可以用WHERE子句指定删除条件。DELETE语句的基本语法格式如下:
DELETE FROM table_name [WHERE Clause]
本实验介绍如何使用 DROP TABLE 语句从 PostgreSQL 数据库中删除数据表。以下是 PostgreSQL 中 DROP TABLE 语句的语法:
DROP TABLE table_name;
在执行 PostgreSQL中的SELECT 语句时,我们可以使用 LIMIT 子句限制查询结果中的记录数。以下是 PostgreSQL 中 LMIT 子句的语法:
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]
本实验主要介绍连接查询。当把数据划分到两个表中时,我们可以使用连接查询从这两个表中获取组合记录。
psycopg 库的 Cursor 类提供了使用 python 代码在数据库中执行 PostgreSQL 命令的方法。
使用cursor类提供的方法,我们可以执行 SQL 语句、从结果集中获取数据、调用过程。
我们可以使用 Connection 对象/类的 cursor() 方法创建Cursor对象。