ホームページ > バックエンド開発 > Python チュートリアル > Python SQLAlchemy の実践的なヒント: 初心者から専門家まで

Python SQLAlchemy の実践的なヒント: 初心者から専門家まで

王林
リリース: 2024-02-25 08:00:57
転載
813 人が閲覧しました

Python SQLAlchemy 实战秘籍:从新手到专家

sql錬金術入門

SQLAlchemy は、Pythonオープン ソース オブジェクト リレーショナル マッピング (ORM) ツール で、簡単に Python を行うことができます。 オブジェクトは database 内のテーブルにマップされ、database は単純な Python コードを通じて操作されます。 SQLAlchemy は、Mysqlpostgresql、SQLite などを含むさまざまなデータベースをサポートしています。

SQLAlchemy の基本的な使い方

1. SQLAlchemy をインストールする

まず、Python 環境に SQLAlchemy をインストールする必要があります。次のコマンドを使用してインストールできます:

リーリー

2. データベース エンジンの作成

SQLAlchemy を使用する前に、データベース エンジンを作成する必要があります。データベース エンジンは、SQLAlchemy がデータベースと通信するために使用するインターフェイスです。次のコードを使用してデータベース エンジンを作成できます:

リーリー

このうち、mysql pymysql はデータベースのタイプ、userpasswordhostport## です。 # と database は、それぞれデータベースのユーザー名、パスワード、ホスト、ポート番号、データベース名です。

3. セッションの作成

Session は、SQLAlchemy がデータベースと対話するために使用するオブジェクトです。次のコードを使用してセッションを作成できます:

リーリー

4. 運用データベース

セッションを使用すると、データベースに対してクエリ、挿入、更新、削除などのさまざまな操作を実行できます。以下は一般的に使用される操作の一部です:

4.1 クエリデータ

次のコードを使用してデータをクエリできます:

リーリー

このうち、

User はクエリを実行するテーブルであり、filter() メソッドはクエリ結果をフィルタリングするために使用され、all() メソッドはすべてのクエリ結果を取得するために使用されます。

4.2 データの挿入

次のコードを使用してデータを挿入できます:

リーリー

このうち、

User はデータを挿入するテーブル、new_user は挿入する新しいデータ、そして add() メソッドは新しいデータを追加するために使用されます。 セッションに追加された commit() メソッドは、セッション内のすべての変更をコミットするために使用されます。

4.3 データを更新する

次のコードを使用してデータを更新できます:

リーリー

そのうち、

User はデータを更新するテーブルであり、filter() メソッドはクエリ結果をフィルタリングするために使用され、first( ) メソッドは最初の A クエリ結果を取得するために使用され、age は更新するフィールドで、commit() メソッドはすべての変更をコミットするために使用されます。セッション。

4.4 データの削除

次のコードを使用してデータを削除できます:

リーリー

そのうち、

User はデータを削除するテーブルであり、filter() メソッドはクエリ結果をフィルタリングするために使用され、first( ) メソッドは最初の A クエリ結果を取得するために使用され、delete() メソッドはデータを削除するために使用され、commit() メソッドはすべての変更をコミットするために使用されます。セッション中。

SQLAlchemy の高度な使用法

1.関係マッピング

SQLAlchemy を使用すると、Python オブジェクトをデータベース内のテーブルに簡単にマップできます。次のコードを使用して関係マップを定義できます:

リーリー

そのうち、

UserAddress はマップする 2 つのテーブルです。__tablename__ 属性はテーブルの名前 id ​​を指定します。 nameage、および address プロパティはテーブルのフィールドを指定します。 ForeignKey() この関数は、外部キー関係を指定するために使用されます。 relationship() 関数は関係マッピングを定義するために使用されます。

2. クエリ

最適化

SQLAlchemy は、クエリのパフォーマンスの向上に役立つさまざまなクエリ最適化手法を提供します。一般的に使用されるクエリ最適化手法の一部を次に示します:

2.1 バッチクエリ

バッチ クエリを使用すると、クエリのパフォーマンスを向上させることができます。バッチ クエリでは、複数のデータ行を一度にクエリできます。次のコードを使用してバッチ クエリを実行できます:

リーリー

このうち、

User はクエリを実行するテーブルであり、filter() メソッドはクエリ結果をフィルタリングするために使用され、all() メソッドはすべてのクエリ結果を取得するために使用されます。

2.2

インデックスの使用

インデックスを使用すると、クエリのパフォーマンスを向上させることができます。インデックスは、データベースがクエリするデータをすばやく見つけるのに役立ちます。次のコードを使用してインデックスを作成できます:

リーリー

このうち、

user はインデックスを作成するテーブル、age はインデックスを作成するフィールドです。

3.

トランザクション管理

SQLAlchemy はトランザクション管理をサポートします。トランザクションは、データベース操作がすべて成功するかすべて失敗するかを確認するのに役立ちます。次のコードを使用してトランザクションを開始できます:

リーリー

次のコードを使用してトランザクションをコミットできます:

session.commit()
ログイン後にコピー

您可以使用以下代码来回滚一个事务:

session.rollback()
ログイン後にコピー

结语

SQLAlchemy 是一个功能强大且易于使用的 ORM 工具。它可以帮助您轻松地将 Python 对象与数据库中的表进行映射,并通过简单的 Python 代码来对数据库进行操作。本文介绍了 SQLAlchemy 的基本使用和进阶使用。希望您能通过本文学习到 SQLAlchemy 的使用技巧,并将其应用到您的实际项目中。

以上がPython SQLAlchemy の実践的なヒント: 初心者から専門家までの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート