Python 中如何使用 SQLAlchemy 操作 MySQL 数据库?

2023年 8月 12日 59.8k 0

要使用 SQLAlchemy 操作 MySQL 数据库,需要按照以下步骤进行操作:
1. 安装 SQLAlchemy 和 MySQL 驱动程序(例如 pymysql 或 mysql-connector-python)。
2. 使用 SQLAlchemy 创建一个 Engine 对象,用于连接到 MySQL 数据库。可以使用以下代码创建 Engine 对象:

from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://username:password@host:port/database_name')

其中,usernamepassword 是 MySQL 数据库的用户名和密码,host 是 MySQL 服务器的主机名或 IP 地址,port 是 MySQL 服务器的端口号,database_name 是要连接的数据库的名称。
3. 使用 Engine 对象创建一个会话(Session)对象,用于执行数据库操作。可以使用以下代码创建 Session 对象:

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()

  • 使用 Session 对象执行各种数据库操作(例如插入、更新、删除和查询)。例如,要向名为 user 的表中插入一个新用户,可以使用以下代码:
  • from sqlalchemy import Column, Integer, String
    from sqlalchemy.ext.declarative import declarative_base
    Base = declarative_base()
    class User(Base):
    __tablename__ = 'user'
    id = Column(Integer, primary_key=True)
    name = Column(String(50), nullable=False)
    email = Column(String(120), unique=True, nullable=False)
    new_user = User(name='Alice', email='alice@example.com')
    session.add(new_user)
    session.commit()

    在这个例子中,使用 SQLAlchemy 的 ORM 功能定义了一个名为 User 的类,该类映射到名为 user 的数据库表。User 类具有 idnameemail 三个属性,分别映射到表中的三个列。创建一个新的 User 实例,并使用 add() 方法将其添加到当前会话中,然后使用 commit() 方法提交更改。
    5. 最后,使用 Session 对象的 query() 方法执行查询语句,并使用 all()first()one() 等方法获取查询结果。例如,可以使用以下代码查询名为 Alice 的用户的电子邮件地址:

    alice = session.query(User).filter_by(name='Alice').first()
    print(alice.email)

    在这个例子中,使用 Session 对象的 query() 方法查询名为 Alice 的用户,使用 filter_by() 方法过滤结果,然后使用 first() 方法获取第一个结果(如果存在)。最后,打印结果对象的 email 属性。
    以上就是在 Python 中使用 SQLAlchemy 操作 MySQL 数据库的基本步骤。除了上述操作之外,SQLAlchemy 还提供了丰富的功能和 API,用于处理各种数据库操作,例如自定义查询、事务管理、数据验证等等。

    相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论