【Python系列】利用 `psycopg2` 连接 PostgreSQL 数据库

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松舒畅的氛围,不但可以获得风趣的内容和知识,也可以各抒己见、分享您的想法和见解。

  

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航

    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 题目等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗能用一个命令完成绝不消两个操纵
    • 数据布局与算法系列:总结数据布局和算法,不同类型针对性训练,提升编程头脑,剑指大厂

  非常期待和您一起在这个小小的网络天下里共同探索、学习和发展。??? 欢迎订阅本专栏
  博客目录





    • `psycopg2` 简介
    • 安装 `psycopg2`
    • 连接到 PostgreSQL 数据库
    • 实行 SQL 查询
    • 插入和更新数据
    • 错误处理

在现代软件开发中,数据库是存储和检索数据的核心组件。PostgreSQL 是一个广泛利用的开源对象关系数据库系统,以其强大的功能和机动性而闻名。Python,作为一种盛行的编程语言,提供了多种方式与数据库交互,其中 psycopg2 是连接 PostgreSQL 数据库的盛行选择之一。

psycopg2 简介

psycopg2 是一个 PostgreSQL 数据库的适配器,它允许 Python 步伐连接和操纵 PostgreSQL 数据库。它提供了很多功能,包括查询实行、事件控制和数据类型转换。psycopg2 是用 C 语言编写的,因此它比纯 Python 库更快,更高效。
安装 psycopg2

在开始之前,确保你的环境中已经安装了 psycopg2。假如你还没有安装,可以通过 Python 的包管理器 pip 来安装。推荐安装 psycopg2-binary,因为它包含了 PostgreSQL 的 C 语言库,如许可以制止额外安装这些库的贫苦。
  1. pip install psycopg2-binary
复制代码
连接到 PostgreSQL 数据库

连接到 PostgreSQL 数据库须要数据库的设置信息,包括主机名、用户名、端口号、暗码和数据库名。以下是一个简单的示例,展示如何利用 psycopg2 来连接到 PostgreSQL 数据库:
  1. import psycopg2
  2. # 数据库配置信息
  3. host = "your_host"
  4. user = "your_user"
  5. port = "your_port"  # PostgreSQL 默认端口是 5432
  6. password = "your_password"
  7. dbname = "your_dbname"
  8. # 连接数据库
  9. try:
  10.     conn = psycopg2.connect(
  11.         host=host,
  12.         user=user,
  13.         port=port,
  14.         password=password,
  15.         dbname=dbname
  16.     )
  17.     print("连接成功")
  18. except psycopg2.Error as e:
  19.     print(f"连接失败: {e}")
复制代码
在这段代码中,你须要将 your_host、your_user、your_port、your_password 和 your_dbname 替换为你的 PostgreSQL 数据库的实际设置信息。
实行 SQL 查询

一旦连接到数据库,你就可以实行 SQL 查询了。psycopg2 提供了几种实行查询的方法,包括 cursor.execute() 和 conn.execute()。以下是如何利用 cursor.execute() 来实行查询的示例:
  1. # 创建 cursor 对象
  2. cursor = conn.cursor()
  3. # 执行查询
  4. try:
  5.     cursor.execute("SELECT * FROM your_table")
  6.     records = cursor.fetchall()
  7.     for record in records:
  8.         print(record)
  9. except psycopg2.Error as e:
  10.     print(f"查询失败: {e}")
  11. finally:
  12.     cursor.close()
复制代码
在这个例子中,我们首先创建了一个 cursor 对象,然后利用 execute() 方法实行了一个 SQL 查询。查询结果通过 fetchall() 方法获取,并打印出来。
插入和更新数据

除了查询数据,psycopg2 也可以用来插入和更新数据库中的数据。以下是如何插入数据的示例:
  1. # 插入数据
  2. try:
  3.     cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", (value1, value2))
  4.     conn.commit()  # 提交事务
  5. except psycopg2.Error as e:
  6.     print(f"插入失败: {e}")
  7.     conn.rollback()  # 回滚事务
  8. finally:
  9.     cursor.close()
复制代码
在这个例子中,我们利用 execute() 方法插入数据,并利用 commit() 方法提交事件。假如插入过程中发生错误,我们利用 rollback() 方法回滚事件,以保持数据库的同等性。
错误处理

在利用 psycopg2 时,错误处理是非常重要的。psycopg2 抛出的非常都是 psycopg2.Error 的实例,你可以通过捕捉这些非常来处理错误。如前所述,我们在实行查询和插入数据时都利用了 try...except 块来捕捉可能发生的错误。
   以为有用的话点个赞 ???? 呗。
本人程度有限,如有马虎,欢迎各位大佬评论品评指正!???
  ???假如以为这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!?? ?? ??
  ???Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!???
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表