目录

一、读取postgresql数据库

二、查询数据


一、读取postgresql数据库

(1)首先,我们需要安装 psycopg 驱动。通过 pip 安装最新的 psycopg

pip install psycopg2 -i https://pypi.tuna.tsinghua.edu.cn/simple

(2) 创建一个数据库连接的配置文件 dbconfig.ini,添加以下内容:

[postgresql]
host = [ip地址]
port = 5432
database = xxx
user = xxx
password = xxx

配置文件中存储了数据库的连接信息:主机、端口、数据库、用户以及密码;我们需要按照自己的环境进行配置。

(3)然后,新建一个测试数据库连接的 Python 文件 postgresql_connection.py,

文件目录结构为:

postgresql_connection.py的完整代码为:

# 导入 psycopg2 模块和 Error 对象
import psycopg2
from psycopg2 import DatabaseError
from configparser import ConfigParserdef read_db_config(filename='dbconfig.ini', section='postgresql'):""" 读取数据库配置文件,返回一个字典对象"""# 创建解析器,读取配置文件parser = ConfigParser()parser.read(filename)# 获取 postgresql 部分的配置db = {}if parser.has_section(section):items = parser.items(section)for item in items:db[item[0]] = item[1]else:raise Exception('文件 {1} 中未找到 {0} 配置信息!'.format(section, filename))return dbif __name__ == '__main__':db_config = read_db_config()connection = Nonetry:# 使用 psycopg2.connect 方法连接 PostgreSQL 数据库connection = psycopg2.connect(**db_config)cur = connection.cursor()    # 创建一个游标cur.execute('SELECT version()')    # 获取 PostgreSQL 版本号db_version = cur.fetchone()print("连接成功,PostgreSQL 服务器版本:", db_version)    # 输出 PostgreSQL 版本# `在这里插入代码片`cur.close()    # 关闭游标except (Exception, DatabaseError) as e:print("连接 PostgreSQL 失败:", e)finally:if connection is not None:    # 释放数据库连接connection.close()print("PostgreSQL 数据库连接已关闭。")

(4)运行程序,

  • 首先,我们导入了 psycopg2 驱动和解析配置文件的 configparser 模块;
  • 然后,创建一个读取配置文件的 read_db_config 函数;
  • 接下来调用 psycopg2.connect 函数创建一个新的数据库连接;
  • 然后通过连接对象的 cursor 函数创建一个新的游标,并且执行查询语句返回数据库的版本;
  • 在此之后,调用游标对象的 fetchone() 方法获取返回结果并打印信息;
  • 最后,调用 close() 方法关闭游标资源和数据库连接对象。

执行以上脚本,返回的信息如下:

连接成功,PostgreSQL 服务器版本: ('PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit',)
PostgreSQL 数据库连接已关闭。

二、查询数据

游标对象提供了三种获取返回结果的方法:fetchone() 获取下一行数据,fetchmany(size=cursor.arraysize) 获取下一组数据行,fetchall() 返回全部数据行。

(1)我们创建一个新的文件 postgresql_query.py:

# 导入 psycopg2 模块和 Error 对象
import psycopg2
from psycopg2 import DatabaseError
from configparser import ConfigParserdef read_db_config(filename='dbconfig.ini', section='postgresql'):""" 读取数据库配置文件,返回一个字典对象"""# 创建解析器,读取配置文件parser = ConfigParser()parser.read(filename)# 获取 postgresql 部分的配置db = {}if parser.has_section(section):items = parser.items(section)for item in items:db[item[0]] = item[1]else:raise Exception('文件 {1} 中未找到 {0} 配置信息!'.format(section, filename))return dbif __name__ == '__main__':db_config = read_db_config()connection = Nonetry:connection = psycopg2.connect(**db_config)        # 使用 psycopg2.connect 方法连接 PostgreSQL 数据库cur = connection.cursor()        # 创建一个游标# 定义 SQL 语句sql = """ select id, name, age from users"""cur.execute(sql)        # 执行 SQL 命令print("用户数量:", cur.rowcount)# 获取结果user = cur.fetchone()while user is not None:print(user)user = cur.fetchone()cur.close()        # 关闭游标except (Exception, DatabaseError) as e:print("操作失败:", e)finally:if connection is not None:        # 释放数据库连接connection.close()

(2)游标对象的 rowcount 属性代表了返回的数据行数,fetchone() 方法返回一行数据或者 None,while 循环用于遍历和打印查询结果。由于 users 表中目前只有一行数据,执行以上文件的结果如下:

用户数量: 2
(1, 'lane', False)
(2, 'lane_dynamic', False)

Python读取postgresql数据库相关推荐

  1. python读取postgresql数据库并发送相关提醒邮件

    代码如下: #!/usr/bin/env python import smtplib from email.mime.text import MIMEText import psycopg2 impo ...

  2. Python连接postgresql数据库入门

    关于Python及pycharm的安装参考:1. python+pycharm 安装及测试_Hehuyi_In的博客-CSDN博客_pycharm安装成功测试 首先需要安装 psycopg2模块(已经 ...

  3. python 数据库查询结果邮件提醒_python读取postgresql数据库并发送相关提醒邮件

    代码如下: #!/usr/bin/env python import smtplib from email.mime.text import MIMEText import psycopg2 impo ...

  4. python读取sqlserver数据库方法_SQLServer数据库之Python读取配置文件,并连接数据库SQL Server...

    本文主要向大家介绍了SQLServer数据库之Python读取配置文件,并连接数据库SQL Server,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 用配置文件保存固定 ...

  5. python读取oracle数据库性能_用python对oracle进行简单性能测试

    一.概述 dba在工作中避不开的两个问题,sql使用绑定变量到底会有多少的性能提升?数据库的审计功能如果打开对数据库的性能会产生多大的影响?最近恰好都碰到了,索性做个实验. sql使用绑定变量对性能的 ...

  6. python读取oracle数据库中文乱码_PL/SQL连接Oracle数据库,中文乱码,显示问号

    PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安 ...

  7. 使用python读取mysql数据库并进行数据的操作

    (一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...

  8. python连接postgresql数据库

    连接postgresql数据库 pip install psycopg2 ## 导入psycopg2包 import psycopg2 ## 连接到一个给定的数据库 conn = psycopg2.c ...

  9. python读取mysql数据库_Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1. ...

最新文章

  1. 20160127:开始学VBA:(三)、判断语句
  2. 学习笔记2——对象初始化和面向对象特性
  3. “正则表达式”应当称为“规则表达式”
  4. 《Atlas基础教程》勘误(持续更新)
  5. 如何做好现状调研与需求分析
  6. Oracle中类似于isql或osql的命令行工具
  7. ai二维码插件_送你60款AI脚本插件包,已整合成插件面板的形式,方便在AI中调用...
  8. 电脑能开机但进不去系统,电脑只能进安全模式怎么处理?
  9. Python中循环(列表循环)的学习笔记~
  10. 中国焦磷酸四钾市场趋势报告、技术动态创新及市场预测
  11. 清楚form表单数据的便捷jQuery之法
  12. Lerx开源网站内容管理CMS系统源码
  13. bzoj2286【SDOI2011】消耗战
  14. android 安装在笔记本,笔记本安装安卓系统图解_笔记本电脑如何安装安卓系统-win7之家...
  15. java vo的使用_使用VO传递参数的设计 | 学步园
  16. 飞刀哥移植UC/OS-II到LPC1788(ARM Cortex-M3)的步骤
  17. python实现企业微信定时发送文本消息!下班自动提交,老板直夸我敬业!
  18. 汉诺塔python非递归实现,[Python3 练习] 006 汉诺塔2 非递归解法
  19. 计算机网络_选择题(一)
  20. 大数据技术之 Flume

热门文章

  1. 小技巧:安装Linux的五种方法和心得(转)
  2. netstat命令实战详解
  3. QT程序编译时的错误:QMAKESPEC has not been set, so configuration cannot be deduced.
  4. splunk日志时间戳
  5. 对乐库项目的播放列表单元格进行布局
  6. vuex总结(四)——mutations
  7. 洛克菲勒写给儿子的38封信(下)、交易的真谛是交换价值,用别人想要的东西来换取你想要的东西、合作是一种获利的战术、相信自己是重要任务、结束是另一个开始、幸运之神眷顾勇者、欲得完美想法,必先具备许多
  8. 潮卡热血HBIC海贼王NFT卡牌到底是什么?
  9. css3 动画右侧进入,css3动画(从上、左下、左、右进入页面)
  10. mysql启动失败 日志