SQLAlchemy をデータベース操作に使用する方法
SQLAlchemy は、リレーショナル データベースとの対話と操作を簡素化するために使用される人気のある Python ライブラリです。これは、開発者が元の SQL ステートメントを作成せずに Python コードを使用してデータベースを操作できるようにするオブジェクト リレーショナル マッピング (ORM) アプローチを提供します。この記事では、データベース操作に SQLAlchemy を使用する方法を紹介し、読者がすぐに使い始めるのに役立つコード例を添付します。
- SQLAlchemy のインストール
まず、SQLAlchemy ライブラリをインストールする必要があります。コマンド ラインで次のコマンドを実行して、インストールを完了します。
pip install sqlalchemy
- データベースに接続
開始する前に、ターゲット データベースに接続する必要があります。 SQLAlchemy は、MySQL、PostgreSQL、SQLite、Oracle などのさまざまなデータベースをサポートしています。次のコード例は、SQLite データベースに接続します。
from sqlalchemy import create_engine # 创建数据库引擎 engine = create_engine('sqlite:///example.db')
上記のコードは、SQLite データベース エンジンを作成し、データベース ファイルへのパスを指定します。他の種類のデータベースに接続する必要がある場合は、接続文字列の「sqlite」を対応するデータベースの種類に置き換えるだけです。
- データ モデルの定義
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」は主キー列です。
- テーブルの作成
データ モデルを使用する前に、対応するテーブルを作成する必要があります。次のコード例では、「users」という名前のテーブルを作成します。
Base.metadata.create_all(engine)
上記のコードは、データ モデル内の定義を使用して、対応するテーブル構造を自動的に作成します。
- データの挿入
テーブル構造が作成されたら、データベース操作を開始できます。次のコード例では、新しいユーザー レコードを挿入します。
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()
を使用してトランザクションをコミットし、データをデータベースに保存します。
- クエリ データ
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 をデータベース操作に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonlistscanstoreanydatatype,arraymodulearraysstoreonetype,andNumPyarraysarefornumericalcomputations.1)Listsareversatilebutlessmemory-efficient.2)Arraymodulearraysarememory-efficientforhomogeneousdata.3)NumPyarraysareoptimizedforperformanceinscient

heouttemptemptostoreavure ofthewrongdatatypeinapythonarray、yure counteractypeerror.thisduetothearraymodule'sstricttypeeencultionyを使用します

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

theScriptisrunningwithwrongthonversionduetorectRectDefaultEntertersettings.tofixthis:1)CheckthedededefaultHaulthonsionsingpython - versionorpython3-- version.2)usevirtualenvironmentsbycreatingonewiththon3.9-mvenvmyenv、andverixe

PythonArraysSupportVariousoperations:1)SlicingExtractsSubsets、2)Appending/ExtendingAdddesements、3)inSertingSelementSatspecificpositions、4)remvingingDeletesements、5)sorting/verversingsorder、and6)listenionsionsionsionsionscreatenewlistsebasedexistin

numpyarraysAressertialentionsionceivationsefirication-efficientnumericalcomputations andDatamanipulation.theyarecrucialindatascience、mashineelearning、物理学、エンジニアリング、および促進可能性への適用性、scaledatiencyを効率的に、forexample、infinancialanalyyy

UseanArray.ArrayOverAlistinPythonは、Performance-criticalCode.1)homogeneousdata:araysavememorywithpedelements.2)Performance-criticalcode:Araysofterbetterbetterfornumerumerumericaleperations.3)interf

いいえ、notallistoperationSaresuptedbyarrays、andviceversa.1)arraysdonotsupportdynamicoperationslikeappendorintorintorinsertizizing、whosimpactsporformance.2)リスト


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









