使用Python访问PostgreSQL数据库需要安装相应的库,比较常用的有psycopg2
和PyGreSQL
。这里我们以psycopg2
为例:
psycopg2
库pip install psycopg2
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}")
代码演示中,我使用了psycopg2
和sqlalchemy
,psycopg2
用于连接数据库,sqlalchemy
用于操作ORM。
在这段代码中,我们首先创建了一个引擎,然后使用它创建Session。接下来,创建一个模型User
,该模型映射到数据库中的users
表,包括id
、name
和password
三个字段。然后,我们使用Base.metadata.create_all(engine)
创建表,并向其中插入一条数据。
最后,我们使用ORM查询数据,输出结果。
我们可以看到,使用ORM向数据库中插入和查询数据非常方便,这是ORM的优势所在。