使用 SQLAlchemy 进行数据测试

2023-04-05 00:00:00 sqlalchemy 数据 测试

SQLAlchemy 是一个 Python 的 ORM(对象关系映射)工具,可用于连接各种类型的数据库,并提供了方便的 API 进行 CRUD 操作。
下面是一个使用 SQLAlchemy 进行数据测试的示例:
首先,需要安装 SQLAlchemy:

pip install sqlalchemy

接下来,需要创建一个 SQLAlchemy 的连接对象,并指定要连接的数据库类型、主机名、端口号、数据库名称、用户名和密码:

from sqlalchemy import create_engine
# 创建一个连接对象,连接到 MySQL 数据库
engine = create_engine('mysql+pymysql://username:password@hostname:port/database')

创建一个数据模型,使用 SQLAlchemy 的 ORM 功能。数据模型对应的是数据库中的数据表,需要定义表的结构和字段:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
# 声明一个基本的数据模型类,所有的数据模型都要继承自这个类
Base = declarative_base()
class User(Base):
    # 定义表的名称
    __tablename__ = 'users'
    # 定义表的结构和字段
    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    email = Column(String(120), unique=True)
    def __repr__(self):
        return f'<User {self.name}>'

接下来,使用 SQLAlchemy 的 Session 对象进行 CRUD 操作。Session 对象是 SQLAlchemy 中负责与数据库交互的主要对象:

from sqlalchemy.orm import sessionmaker
# 创建 Session 类型,用于与数据库交互
Session = sessionmaker(bind=engine)
session = Session()
# 创建一个新用户,插入到数据库中
new_user = User(name='pidancode.com', email='pidancode@pidancode.com')
session.add(new_user)
session.commit()
# 查询所有用户,打印结果
users = session.query(User).all()
print(users)
# 查询特定用户,打印结果
user = session.query(User).filter_by(name='pidancode.com').first()
print(user)
# 修改用户信息,更新到数据库中
user.email = 'piddling@pidancode.com'
session.add(user)
session.commit()
# 删除用户信息,从数据库中删除
session.delete(user)
session.commit()

以上就是一个基本的 SQLAlchemy 数据测试示例。使用 SQLAlchemy,可以轻松地连接数据库并进行 CRUD 操作,提高数据存储和检索的效率。

相关文章