python库之—psycopg2
2023-05-05 08:59:22[行业信息]

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模块.