flask データベース 処理(Flask-SqLAlchemy)

Flask Flask-SQLAlchemy

flaskでデータベースにアクセスするには

データベースを用意して、flask ⇔ データベースの接続、SQL文を記述して実行 → Commit

せっかくフレームワークを使用して共通性を持たせているのであれば、なるべくデータベース関連も同じく共通化しておきたい。
※他の人が触ってもわかりやすくしておき、保守・メンテナンス性を高める目的。

pythonはいろいろなパッケージが既に用意されています。

データベース関連では【SQLAlchemy】

SQLAlchemy(ウィキペディア)
SQLAlchemyは、Pythonプログラミング言語のためのオープンソースのSQLツールキットおよびオブジェクト関係マッピングライブラリ(ORM)で、MIT Licenseの下で公開されている。

Flask-SQLAlchemy

Flask-SQLAlchemyとは?

Flask-SQLAlchemy
Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It simplifies using SQLAlchemy with Flask by setting up common objects and patterns for using those objects, such as a session tied to each web request, models, and engines.
Flask-SQLAlchemy does not change how SQLAlchemy works or is used.
—訳—:
Flask-SQLAlchemy は、アプリケーションにSQLAlchemyのサポートを追加するFlaskの拡張機能です。各 Web リクエスト、モデル、エンジンに関連付けられたセッションなど、共通のオブジェクトとそれらのオブジェクトを使用するためのパターンを設定することで、Flask での SQLAlchemy の使用を簡素化します。
Flask-SQLAlchemy は、SQLAlchemy の動作方法や使用方法を変更しません。

ドキュメント(3.0x)

https://flask-sqlalchemy.palletsprojects.com/en/3.0.x/

PyPi

2023年03月時点:version 3.0.3

https://pypi.org/project/Flask-SQLAlchemy/

⚠注意点

Legacy Query Interface
You may see uses of Model.query or session.query to build queries. That query interface is considered legacy in SQLAlchemy. Prefer using the session.execute(select(...)) instead.
—訳—:
Model.queryまたはを使用してクエリを作成する場合がありますsession.query。そのクエリ インターフェイスは、SQLAlchemy ではレガシーと見なされます。代わりにを使用することをお勧めします session.execute(select(...))。

SELECT

SELECT関連は以下ページにまとめてあります。

Flask-SqLAlchemy SELECT(取得)
Flask-SQLAlchemyでデータベースを取得する方法を、サンプルコードをもとに掲載。scalar/scalar_one/get_or_404/first_or_404/one_or_404/scalars/scalars().all()
https://outpust.jp/blog/0e0b9dba-89e1-4dfd-9e92-0832162c13e4

INSERT

INSERT関連は以下ページにまとめてあります。

Flask-SqLAlchemy INSERT(挿入)
Flask-SQLAlchemyでの挿入の方法を、サンプルコードをもとに掲載。構文「db.session.add(model_object)」
https://outpust.jp/blog/cdd92a94-65f1-4397-913d-4cad1cd7e763

UPDATE

UPDATE関連は以下ページにまとめてあります。

Flask-SqLAlchemy UPDATE(更新)
Flask-SQLAlchemyでの更新の方法を、サンプルコードをもとに掲載。構文「model_object.item = "更新内容"」
https://outpust.jp/blog/ddfdac95-5b83-44a9-a44f-74ebd1762315

DELETE

DELETE関連は以下ページにまとめてあります。

Flask-SqLAlchemy DELETE(削除)
Flask-SQLAlchemyでの削除の方法を、サンプルコードをもとに掲載。構文「model_object.item = "更新内容"」
https://outpust.jp/blog/dd2e93c1-7312-4406-830e-5544e532eb35
プロフィール背景画像 プロフィール画像
名前:田中寛之
今まで約20年間、出版社、マスコミ、化粧品会社、システム会社・病院・クリニックにてシステムエンジニアとして勤務。現在、個人事業主「ONLINE-WORLD」として活動し、42歳からPythonを始めました!
プロフィール背景画像 プロフィール画像
名前:田中寛之
今まで約20年間、出版社、マスコミ、化粧品会社、システム会社・病院・クリニックにてシステムエンジニアとして勤務。現在、個人事業主「ONLINE-WORLD」として活動し、42歳からPythonを始めました!