在Python中使用ORM访问PostgreSQL数据库

2023-04-05 00:00:00 python 数据库 访问

使用Python访问PostgreSQL数据库需要安装相应的库,比较常用的有psycopg2PyGreSQL。这里我们以psycopg2为例:

  1. 安装psycopg2
pip install psycopg2
  1. 使用ORM连接数据库
import psycopg2
import psycopg2.extras
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
from psycopg2 import sql
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
# 创建引擎
engine = create_engine('postgresql://用户:密码@主机:端口/数据库')
# 创建Session
Session = sessionmaker(bind=engine)
session = Session()
# 创建模型
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
password = Column(String)
# 创建表
Base.metadata.create_all(engine)
# 插入数据
user = User(name='pidancode.com', password='123456')
session.add(user)
session.commit()
# 查询数据
query = session.query(User).filter_by(name='pidancode.com').first()
print(f"ID:{query.id}, 姓名:{query.name}, 密码:{query.password}")

代码演示中,我使用了psycopg2sqlalchemypsycopg2用于连接数据库,sqlalchemy用于操作ORM。

在这段代码中,我们首先创建了一个引擎,然后使用它创建Session。接下来,创建一个模型User,该模型映射到数据库中的users表,包括idnamepassword三个字段。然后,我们使用Base.metadata.create_all(engine)创建表,并向其中插入一条数据。

最后,我们使用ORM查询数据,输出结果。
我们可以看到,使用ORM向数据库中插入和查询数据非常方便,这是ORM的优势所在。

相关文章