首頁  >  文章  >  資料庫  >  如何使用 SQLAlchemy 將現有 MySQL 資料庫整合到 Flask 應用程式中?

如何使用 SQLAlchemy 將現有 MySQL 資料庫整合到 Flask 應用程式中?

Linda Hamilton
Linda Hamilton原創
2024-11-09 08:11:021029瀏覽

How to Integrate an Existing MySQL Database into a Flask Application Using SQLAlchemy?

將現有MySQL 資料庫整合到Flask 應用程式中

使用SQLAlchemy 將現有MyAlchemy 將現有MySQL 資料庫與Flask 應用程式整合時面臨挑戰。雖然 Flask 不直接涉及涉及已建立資料庫的場景,但了解最佳方法至關重要。

理解 SQLAlchemy

SQLAlchemy 是一個強大的 ORM(物件關係模型) Mapping)框架,彌補了 Python 和 SQL 資料庫之間的差距。為了有效地將 SQLAlchemy 與現有資料庫結合使用,建議暫時擱置 Flask 考慮事項。專注於熟悉 SQLAlchemy 的基礎知識。

建立基本模型

依照下列步驟為SQLAlchemy 建立基本模型以反映您現有的資料庫表:

  1. 使用create_engine( ) 建立與MySQL 的連線資料庫。
  2. 使用 declarative_base() 定義基類,為資料庫表產生 Python 類別。
  3. 利用 Base.metadata.reflect(engine) 自動使用現有資料庫表填入基底類別。

範例程式碼片段

from sqlalchemy import create_engine, declarative_base

engine = create_engine('mysql://<username>:<password>@<host>:<port>/<database>', echo=True)
Base = declarative_base()
Base.metadata.reflect(engine)

定義表關係

建立基本模型後,使用SQLAlchemy 的關係模型在資料庫表之間建立關係。根據需要定義父子關聯或一對多關聯。

範例程式碼片段

class Users(Base):
    __table__ = Base.metadata.tables['users']

class Orders(Base):
    __table__ = Base.metadata.tables['orders']

Users.orders = relationship("Orders", backref="user")

測試連線

定義關係後,您可以測試與資料庫的連線。開啟資料庫會話並使用 SQLalchemy 的查詢模型執行簡單查詢。

範例程式碼片段

from sqlalchemy.orm import scoped_session, sessionmaker

db_session = scoped_session(sessionmaker(bind=engine))
for item in db_session.query(Users.id, Users.name):
    print(item)

與Flask 整合

透過對SQLAlchemy 的深入了解,您現在可以將現有資料庫整合到您的燒瓶應用。使用控制器和視圖在 Flask 上下文中公開資料庫功能。

以上是如何使用 SQLAlchemy 將現有 MySQL 資料庫整合到 Flask 應用程式中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn