ホームページ  >  記事  >  バックエンド開発  >  SQLAlchemy をデータベース操作に使用する方法

SQLAlchemy をデータベース操作に使用する方法

WBOY
WBOYオリジナル
2023-08-07 12:21:291227ブラウズ

SQLAlchemy をデータベース操作に使用する方法

SQLAlchemy は、リレーショナル データベースとの対話と操作を簡素化するために使用される人気のある Python ライブラリです。これは、開発者が元の SQL ステートメントを作成せずに Python コードを使用してデータベースを操作できるようにするオブジェクト リレーショナル マッピング (ORM) アプローチを提供します。この記事では、データベース操作に SQLAlchemy を使用する方法を紹介し、読者がすぐに使い始めるのに役立つコード例を添付します。

  1. SQLAlchemy のインストール

まず、SQLAlchemy ライブラリをインストールする必要があります。コマンド ラインで次のコマンドを実行して、インストールを完了します。

pip install sqlalchemy
  1. データベースに接続

開始する前に、ターゲット データベースに接続する必要があります。 SQLAlchemy は、MySQL、PostgreSQL、SQLite、Oracle などのさまざまなデータベースをサポートしています。次のコード例は、SQLite データベースに接続します。

from sqlalchemy import create_engine

# 创建数据库引擎
engine = create_engine('sqlite:///example.db')

上記のコードは、SQLite データベース エンジンを作成し、データベース ファイルへのパスを指定します。他の種類のデータベースに接続する必要がある場合は、接続文字列の「sqlite」を対応するデータベースの種類に置き換えるだけです。

  1. データ モデルの定義

SQLAlchemy を ORM 操作に使用するための中心的な概念はデータ モデルです。データ モデルは Python クラスで表され、各クラスはデータベース内のテーブルに対応します。次のコード例では、「User」という名前のデータ モデルを定義します。

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

# 创建基类
Base = declarative_base()

# 定义数据模型
class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    email = Column(String)

上記のコードは、「User」という名前のデータ モデルを定義し、テーブル名は「users」です。データ モデルの各属性はテーブルの列に対応します。「id」は主キー列です。

  1. テーブルの作成

データ モデルを使用する前に、対応するテーブルを作成する必要があります。次のコード例では、「users」という名前のテーブルを作成します。

Base.metadata.create_all(engine)

上記のコードは、データ モデル内の定義を使用して、対応するテーブル構造を自動的に作成します。

  1. データの挿入

テーブル構造が作成されたら、データベース操作を開始できます。次のコード例では、新しいユーザー レコードを挿入します。

from sqlalchemy.orm import sessionmaker

# 创建会话工厂
Session = sessionmaker(bind=engine)
session = Session()

# 创建新用户
new_user = User(name='John Doe', email='johndoe@example.com')

# 添加到会话
session.add(new_user)

# 提交事务
session.commit()

上記のコードでは、データベース操作にセッション オブジェクトを使用します。まず、セッション ファクトリが作成され、データベース エンジンにバインドされます。次に、セッション ファクトリを通じてセッション オブジェクトを作成します。次に、新しいユーザー オブジェクトが作成され、session.add() メソッドを使用してセッションに追加されます。最後に、session.commit() を使用してトランザクションをコミットし、データをデータベースに保存します。

  1. クエリ データ

SQLAlchemy をクエリ操作に使用する場合、クエリ式または SQL ステートメントを使用できます。次のコード例では、すべてのユーザー レコードをクエリします。

# 查询所有用户
users = session.query(User).all()

# 打印查询结果
for user in users:
    print(user.name, user.email)

上記のコードは、session.query(User) を使用してクエリ オブジェクトを作成し、.all()# を呼び出します。 ## クエリ操作を実行するメソッドは、すべてのユーザー レコードを返します。クエリ結果をトラバースすることで、各レコードの属性値を取得できます。

    データの更新
データの更新は、いくつかの異なる方法で行うことができます。次のコード例では、指定されたユーザーの電子メール アドレスを更新します。

# 查询指定用户
user = session.query(User).filter_by(name='John Doe').first()

# 更新电子邮件地址
user.email = 'newemail@example.com'

# 提交事务
session.commit()

上記のコードでは、

session.query(User).filter_by(name='John Doe').first() を使用します。指定されたユーザー レコードをクエリし、その属性値を変更することでデータを更新します。

    データの削除
データの削除は、いくつかの異なる方法でも行うことができます。次のコード例では、指定されたユーザーを削除します。

# 查询指定用户
user = session.query(User).filter_by(name='John Doe').first()

# 删除用户
session.delete(user)

# 提交事务
session.commit()

上記のコードは、

session.delete(user) を使用して、指定されたユーザー レコードを削除します。

上記では、データベース操作に SQLAlchemy を使用する方法の基本的な手順を紹介し、対応するコード例を示します。 SQLAlchemy は、トランザクション管理、高度なクエリ、その他の機能を含む非常に豊富な機能を備えており、読者はさらに学習して探索することができます。この記事が、読者が SQLAlchemy をすぐに使い始め、データベース操作の効率と利便性を向上させるのに役立つことを願っています。

以上がSQLAlchemy をデータベース操作に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。