百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Python:3分钟看懂,基于 Psycopg2 的 PostgreSQL 操作指南!

toyiye 2024-07-15 01:15 7 浏览 0 评论


本Python PostgreSQL教程演示了如何使用PostgreSQL数据库服务器开发Python数据库应用程序。在Python中,我们有用于连接和使用PostgreSQL的serval模块。以下是清单。

  • Psycopg2
  • PG 8000
  • Py-PostgreSQL
  • PyGreSQL
  • ocpgdb
  • bpgsql
  • SQLAlchemySQLAlchemy需要单独安装上述任何一个。

注: 最重要的是,所有接口或模块都遵循Python数据库API规范v2.0(PEP 249)。此API旨在鼓励和维护用于访问数据库的Python模块之间的相似性。换句话说,所有模块的语法、方法和访问数据库的方式都是相同的。

在本教程中,我们将坚持使用Psycopg2。为什么

  • Phocopg 2是PostgreSQL最流行的python驱动程序。
  • 它是大多数Python和Postgres框架所必需的。
  • 积极维护和支持Python的主要版本,即Python3和Python2。
  • 它是线程安全的(线程可以共享连接)。它是为大量多线程应用程序设计的。
  • 安装Python3并使用其API访问PostgreSQL数据库。
  • 然后它带你穿过数据插入, 数据检索, 数据更新,和数据删除.
  • 接下来,它将涵盖事务管理, 连接池,和错误处理技术使用PostgreSQL开发健壮的python程序。
  • 现在让我们看看每一节。

    使用pip命令安装Maicopg 2

    要使用Python中的PostgreSQL,您需要在计算机上安装Messcopg 2。这个模块可以在pypi.org上找到。

    使用pip命令,您可以在任何操作系统上安装Messcopg 2包括, MacOS, linux,和Unix乌本图。使用下面的pip命令安装Maicopg 2。

    pip install psycopg2

    还可以使用以下命令安装特定版本。

    pip install psycopg2=2.7.5

    如果您面临pip安装错误类似于“连接错误:[SSL:证书_验证_失败]证书验证失败(_ssl.c:598)”。您可以通过将pypi.org和files.pythonhosted.org设置为受信任的主机来解决此错误。请试着遵循pip命令若要安装精神科2,请执行以下操作。

    python -m pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org psycopg2

    验证Maicopg 2的安装

    运行上述命令后,您应该得到以下消息。

    • 收集Psycopg2
    • 下载Psycopg2-2.7.5
    • 安装收集的软件包:Psycopg2
    • 成功安装Psycopg2-2.7.5
      Python PostgreSQL数据库连接

    在本节中,我们将学习如何通过python连接PostgreSQL。要执行连接,您需要了解PostgreSQL的以下细节。

    从Python连接PostgreSQL数据库所需的参数

    • 这个用户名使用PostgreSQL时,PostgreSQL数据库的默认用户名是Postgres。
    • 密码-用户在安装PostgreSQL时提供密码。
    • 主机名-是正在运行PostgreSQL的服务器名称或IP地址。如果您正在本地主机上运行,则可以使用localhost,也可以使用IP,即127.0.0.0
    • 数据库名-要连接到的数据库名称。这里我们使用的是名为“postgres_db”的数据库。

    通过python连接PostgreSQL的步骤

    • 使用connect()使用必要的参数来连接PostgreSQL。
    • 创建一个光标对象,该对象使用由CONNECT方法返回的连接对象。执行PostgreSQL查询从Python。
    • 工作完成后,关闭游标对象和PostgreSQL数据库连接。
    • 如果在此过程中可能发生任何异常,请捕获异常。

    Python示例连接PostgreSQL数据库

    要连接PostgreSQL数据库并执行SQL查询,必须知道要连接的数据库名。如果您没有创建任何数据库,我建议您在继续之前创建一个数据库。

    从Python连接到PostgreSQL之后,您应该获得以下输出

    {'user': 'postgres', 'dbname': 'pynative_DB', 'host': '127.0.0.1', 'port': '5432', 'tty': '', 'options': '', 'sslmode': 'prefer', 'sslcompression': '1', 'krbsrvname': 'postgres', 'target_session_attrs': 'any'} 
    You are connected to -  ('PostgreSQL 10.3') 
    PostgreSQL connection is closed

    详细了解PostgreSQL数据库连接代码

    导入psycont2

    • 这一行在我们的程序中导入了心理学2模块。使用已定义的类和方法,我们可以与PostgreSQL通信。

    来自psycopg2导入错误

    • 在使用Python的PostgreSQL时,我们可以使用棱镜2的Error类来处理任何可能发生的数据库错误和异常。使用这种方法,我们可以使我们的应用程序健壮。
    • 这个模块帮助我们更详细地理解错误。它返回错误消息和错误代码。

    psycopg2.连接()

    使用connect()方法可以创建到PostgreSQL数据库实例的连接。这将返回PostgreSQL连接对象。这个连接是线程安全的,可以在多个线程之间共享.

    • 这个connect()方法接受我们前面讨论过的各种参数。
    • 在我们的示例中,我们传递了以下连接参数来连接PostgreSQL。
      user = "postgres", password = "pass@#29", host = "127.0.0.1", port = "5432",database = "postgres_db"

    cursor = connection.cursor()

    • 使用connection.cursor()我们可以创建一个游标对象,它允许我们通过Python源代码执行PostgreSQL命令。
    • 我们可以从单个连接对象创建任意数量的游标。从同一连接创建的游标并不是孤立的,即游标对数据库所做的任何更改都会被其他游标立即看到。
    • 游标不是线程安全的.

    之后,我们使用connection.get_dsn_parameters().

    cursor.execute()

    • 使用游标的EXECUTE方法,我们可以执行数据库操作或查询。
    • Execute方法将SQL查询作为参数。
    • 我们可以使用游标方法检索查询结果,例如fetchone(), fetchmany(), fetcthall().
    • 在我们的示例中,我们正在执行一个SELECT version();查询以获取PostgreSQL版本。

    尝试-除了-最终阻止

    • 我们将所有代码放在try-out块中,以捕获在此过程中可能发生的数据库异常和错误。

    cursor.close()和connection.close()

    • 工作完成后关闭游标和连接对象始终是很好的做法,以避免数据库问题。

    PythonPostgreSQL创建表

    在本节中,我们将学习如何在PostgreSQL中通过Python代码创建一个数据库表。我在python中创建了一个示例,以便在PostgreSQL中创建一个Mobile表。

    在Python中用PostgreSQL创建表的步骤

    • 准备创建表查询。
    • 接下来,使用psycopg2.connect()。在本文的开头,我已经解释了PostgreSQL连接代码。
    • 使用cursor.execute()
    • 最后,关闭数据库连接和游标对象。
    • 现在让我们看看这个例子。

    您应该得到以下输出

    Table created successfully in PostgreSQL
    PostgreSQL connection is closed

    注-如您所见,我们定义了一个CREATETABLE查询,并将其传递给cursor.Execute()函数。最后,我们使用COMMIT()方法将更改提交到数据库。

    Python PostgreSQL CRUD操作

    我们知道表,现在让我们转到CRUD操作。

    在本节中,我们将学习如何从Python执行PostgreSQL CRUD操作。从python中插入、更新和删除查询,使用Phocopg 2操作PostgreSQL数据库。

    现在让我们看看每一节。

    • 从Python的PostgreSQL表中选择数据-在本文中,我们将学习如何从Python应用程序执行PostgreSQL SELECT查询来从数据库表中获取数据。我们还将学习如何使用菲丘尔(), fetchmany()和fetchone()方法从表中提取有限的行。
    • 从Python将数据插入PostgreSQL表-在本节中,我们将学习如何从python应用程序执行INSERT查询,以便将行或记录插入PostgreSQL表。
    • 从Python更新PostgreSQL表的数据-在本节中,我们将学习如何从python应用程序执行Update查询,以更新PostgreSQL表的行或记录。
    • 从Python中删除PostgreSQL表中的数据-在本节中,我们将学习如何执行从python应用程序到Delete行的删除查询或从PostgreSQL表执行记录。

    用Python调用PostgreSQL函数和存储过程

    PostgreSQL函数和存储过程可以执行不同的操作,可以是数据操作或数据检索。我们可以从Python中执行这样的函数。

    在本节中,我们将学习如何在Python中执行PostgreSQL函数和存储过程。参考如何从Python执行PostgreSQL函数和存储过程。

    Python PostgreSQL事务管理

    在本文中,我们将看到如何使用内核2管理Python中的PostgreSQL事务。

    • 我们将看到如何使用Connection类的COMMIT和ROLLBACK方法来管理Python中的事务。
    • 我们还将看到如何从Python更改PostgreSQL事务隔离级别。

    参考我们的完整指南如何从Python管理PostgreSQL事务.

    Python PostgreSQL连接池

    在本节中,我将告诉您连接池是什么,以及如何使用Python中的Messcopg 2实现PostgreSQL数据库连接池。

    • 使用Phocopg 2,我们可以为一个简单的应用程序实现一个连接池,也可以为多线程应用程序实现一个连接池。
    • 使用连接池可以提高以数据库为中心的应用程序的速度和性能。.
    • 使用心理学2,我们可以实现一个简单的连接池用于单线程应用程序和螺纹连接池用于多线程环境。

    参考我们的完整指南PythonPostgreSQL连接池,使用Phocopg 2。

    Python数据库编程测试与练习项目

    解决我们的自由Python数据库编程测试测试Python数据库概念。

    解决我们的自由Python数据库练习项目来实践和掌握Python数据库操作PostgreSQL

    • 在这个练习项目中,我们将实施医院信息系统。它涵盖了所有的主题。
    • 在本Python数据库练习中,我们将从Python执行数据库CRUD操作。演习还包括事务管理错误处理技术。

    相关推荐

    为何越来越多的编程语言使用JSON(为什么编程)

    JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

    何时在数据库中使用 JSON(数据库用json格式存储)

    在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

    MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

    前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

    JSON对象花样进阶(json格式对象)

    一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

    深入理解 JSON 和 Form-data(json和formdata提交区别)

    在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

    JSON 语法(json 语法 priority)

    JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

    JSON语法详解(json的语法规则)

    JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

    MySQL JSON数据类型操作(mysql的json)

    概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

    JSON的数据模式(json数据格式示例)

    像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

    前端学习——JSON格式详解(后端json格式)

    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

    什么是 JSON:详解 JSON 及其优势(什么叫json)

    现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

    PostgreSQL JSON 类型:处理结构化数据

    PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

    JavaScript:JSON、三种包装类(javascript 包)

    JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

    Python数据分析 只要1分钟 教你玩转JSON 全程干货

    Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

    比较一下JSON与XML两种数据格式?(json和xml哪个好)

    JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

    取消回复欢迎 发表评论:

    请填写验证码