前言
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():关闭数据库连接。
参考文章:
总结
今天是2022年5月20日哎,分手快乐,祝你幸福。