【 Flask 教學 】Flask SQLAlchemy | Python 與資料庫的橋樑

在本篇文章,我們將介紹 Flask-SQLAlchemy,讓我們能夠在 Python Flask 應用程式中使用 SQLAlchemy 的 ORM 和 Flask-SQLAlchemy 進行資料庫溝通。

Flask 是一個輕量級的 Python Web 框架,用於建立 Web 應用程式,而 SQLAlchemy 則是一個 Python 庫,提供對關係資料庫的高效和高效能的訪問。

Flask-SQLAlchemy 是一個用於 Flask 應用程式的擴展程式,簡化了使用 SQLAlchemy 的複雜性,並提供了常見的對象和模式,例如與每個 Web 請求相關聯的會話、模型和引擎,同時不會更改 SQLAlchemy 的工作方式。

下面我們來看看如何在 Python Flask 應用程式中使用 Flask-SQLAlchemy。

安裝 Flask-SQLAlchemy

要使用 Flask-SQLAlchemy,首先需要在計算機上安裝它。可以使用以下命令在終端中安裝 Flask-SQLAlchemy:

1
pip install Flask-SQLAlchemy

建立 Flask 應用程式


在使用 Flask-SQLAlchemy 之前,需要建立一個 Flask 應用程式。可以使用以下程式碼建立一個簡單的 Flask 應用程式:

1
2
from flask import Flask
app = Flask(__name__)

設定資料庫


在 Flask-SQLAlchemy 中,可以使用 PostgreSQL、MySQL、SQLite 或 Oracle 等多種資料庫。在本節中,我們將使用 SQLite3 作為資料庫。可以使用以下程式碼設定資料庫:

1
2
3
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)

上述程式碼將建立一個名為 example.db 的 SQLite3 資料庫。

建立資料庫模型

在 Flask-SQLAlchemy 中,資料庫模型由 Python Class定義。以下是一個簡單的範例:

1
2
3
4
5
6
7
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)

def __repr__(self):
return '<User %r>' % self.username

上述程式碼定義了一個名為 User 的模型,包含三個屬性:id、name 和 email。

建立資料庫表

在Flask-SQLAlchemy 中,可以使用以下程式碼建立資料庫表:

1
db.create_all()

上述程式碼將根據模型定義建立資料庫表。

加入資料到資料庫

在 Flask-SQLAlchemy 中,可以使用以下程式碼向資料庫加入資料:

1
2
3
user = User(name='John Doe', email='[email protected]')
db.session.add(user)
db.session.commit()

上述程式碼將建立一個新的 User 對象,將其加入到資料庫中,並提交更改。

從資料庫檢索資料

在 Flask-SQLAlchemy 中,可以使用以下程式碼從資料庫檢索資料:

1
users = User.query.all()

上述程式碼將檢索資料庫中的所有 User 對象,並將它們作為列表返回。

更新資料庫中的資料

在 Flask-SQLAlchemy 中,可以使用以下程式碼更新資料庫中的資料:

1
2
3
user = User.query.filter_by(email='[email protected]').first()
user.name = 'John'
db.session.commit()

上述程式碼將從資料庫中檢索具有指定電子郵件地址的 User 對象,將其名稱更改為 John,然後提交更改。

刪除資料庫中的資料

在 Flask-SQLAlchemy 中,可以使用以下程式碼從資料庫中刪除資料:

1
2
3
user = User.query.filter_by(email='[email protected]').first()
db.session.delete(user)
db.session.commit()

上述程式碼將從資料庫中刪除具有指定電子郵件地址的 User 對象,然後提交更改。

小節

綜上所述,本篇教學文章介紹了 Flask-SQLAlchemy 的基本用法,包括建立 Flask 應用程式、設定資料庫、建立資料庫模型、建立資料庫表、加入資料到資料庫、從資料庫檢索資料、更新資料庫中的資料和刪除資料庫中的資料。這些步驟提供了初學者所需的基礎知識,可以用來構建簡單的 Python Flask 應用程式,以及進一步擴展以實現更複雜的資料庫操作。需要注意的是,Flask-SQLAlchemy 需要一定的學習曲線,但一旦掌握了基本概念,就可以輕鬆地使用它來管理資料庫。

希望本篇教學文章能夠為初學者提供一個良好的起點,幫助他們進入 Flask-SQLAlchemy 的世界,並開始在 Python Flask 應用程式中進行資料庫溝通。

延伸閱讀

以下是本次回答所使用的參考資料的標題和連結:

評論