python库之—psycopg2

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: python库之—psycopg2

前言


psycopg2库是python用来操作postgreSQL 数据库的第三方库。


0、psycopg2库介绍


psycopg2库介绍: Psycopg2是一个用于Python编程语言的第三方库,用于访问PostgreSQL数据库系统。它提供了一组工具和方法,可以轻松地在Python程序中进行数据库操作,包括查询、插入、更新、删除等操作。


以下是Psycopg2库的一些主要特点


  • 简单易用: Psycopg2提供了简单的API,易于学习和使用。
  • 高性能: Psycopg2是基于C语言实现的,能够提供高效的数据库操作。
  • 完全兼容: Psycopg2与PostgreSQL数据库完全兼容,并支持大多数PostgreSQL特性。
  • 安全性: Psycopg2具有内置的防止SQL注入攻击的功能,能够保证数据安全。
  • 使用Psycopg2库进行数据库操作通常需要以下步骤:
  • 安装psycopg2库:可以使用pip install psycopg2来安装该库。
  • 建立数据库连接:使用psycopg2库提供的connect()方法建立与数据库的连接。
  • 执行SQL语句:使用psycopg2提供的方法执行SQL语句,如查询、插入、更新等操作。
  • 处理查询结果:如果执行的是查询操作,需要使用fetchone()或fetchall()方法来处理查询结果。
  • 关闭连接:最后需要使用close()方法关闭数据库连接。


下面是一个简单的Psycopg2库示例,演示了如何建立与PostgreSQL数据库的连接,并执行一些简单的SQL操作, 后续章节是详细介绍:

import psycopg2
# 建立数据库连接
conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myuser",
    password="your password"
)
# 执行SQL语句
cur = conn.cursor()
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
# 处理查询结果
for row in rows:
    print(row)
# 关闭连接
cur.close()
conn.close()

一、使用pycharm连接postgresSQL

1-1、连接数据库

try :
  conn = psycopg2.connect(database='postgres', user='postgres',
  password='your password', host='127.0.0.2', port=6666)
except Exception as e:
    print('连接数据库失败!')

1-2、关闭数据库

# 连接数据库,执行了sql语句,以及进行完所有其他操作之后需要提交事务并且关闭数据库
# 提交事务
conn.commit()
# 关闭连接
conn.close()

1-3、cursor类

# psycopy2提供了一个cursor类,用来在数据库Session里执行PostgresSQL命令。
# 创建cursor对象:
cursor = conn.cursor() 
# 使用cursor对象来执行SQL语句。
cursor.execute(sql)
# 执行SQL命令后的返回结果由cursor.fetchall()接收为一个元祖的列表。
lines = cursor.fetchall()
# 例如
select timeline FROM "public".org_target_job_record WHERE target_job = 'ETL' and target_type = '本品' ORDER BY timeline DESC LIMIT 1
# 查询到的结果是20220103,cursor.fetchall()接收到的列表是这样。
# [('20220103',)]
# 使用lines[0][0]来取到第一个数字。
# 关闭cursor对象
cursor.close()

1-4、使用python的configparser包来解析配置文件

# ConfigParser 是用来读取配置文件的包
# 导入并且初始化
import configparser
config = configparser.ConfigParser()
# 读取配置文件
config.read("ini", encoding="utf-8")
# 假设配置文件如下
[db]
db_host = 127.0.0.2
db_port = 66
db_user = root
db_pass = root
host_port = 66
# 常用方法
# 获取所有的sections,‘[]’内包含的即为section。
config.sections()
# 返回列表,即 ['db']
# 获取指定section下指定的option值
config.options('db')
# 返回一个列表 
# ['db_host', 'db_port', 'db_user', 'db_pass', 'host_port']
# 获取到指定option的值
config['db']['db_host']
# 更多功能请参考链接文章


二、Psycopg2库的一些常用方法和函数


  • connect(dsn, …):建立与PostgreSQL数据库的连接。dsn是一个字典,包含了连接数据库需要的各种参数,如用户名、密码、主机名、数据库名等。
  • cursor():建立一个游标对象,用于执行SQL查询和修改等操作。
  • execute(sql[, args]):执行SQL语句。sql是要执行的SQL语句,args是可选的参数,可以是一个列表或一个字典,用于将变量传递给SQL语句。
  • fetchone():获取查询结果的下一行数据。
  • fetchall():获取所有查询结果的数据。
  • commit():提交事务。
  • rollback():回滚事务。
  • close():关闭数据库连接。



参考文章:

python库之psycopg2.

configparse模块.


总结

今天是2022年5月20日哎,分手快乐,祝你幸福。


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1天前
|
XML JSON 数据库
Python的标准库
Python的标准库
108 77
|
1月前
|
调度 开发者 Python
Python中的异步编程:理解asyncio库
在Python的世界里,异步编程是一种高效处理I/O密集型任务的方法。本文将深入探讨Python的asyncio库,它是实现异步编程的核心。我们将从asyncio的基本概念出发,逐步解析事件循环、协程、任务和期货的概念,并通过实例展示如何使用asyncio来编写异步代码。不同于传统的同步编程,异步编程能够让程序在等待I/O操作完成时释放资源去处理其他任务,从而提高程序的整体效率和响应速度。
|
1月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
68 0
|
16天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
51 4
数据分析的 10 个最佳 Python 库
|
2天前
|
XML JSON 数据库
Python的标准库
Python的标准库
25 11
|
15天前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
68 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
2天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
30 8
|
23天前
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
23天前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
78 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
|
10天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
21 4