Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ DBからの削除 | SQLAlchemy
/
Pythonでのデータベース操作
セクション 4.  8
single

single

bookDBからの削除

メニューを表示するにはスワイプしてください

この章では、SQLAlchemy を使用してデータベースからレコードを削除する方法について解説します。レコードの削除は、特に古くなったまたは不要なエントリを削除する際に、データ管理において重要な操作です。SQLAlchemy は、単一および一括操作の両方で削除を扱うためのシンプルかつ強力なツールを提供します。

IDで単一レコードを削除

最も一般的なレコード削除方法は、IDなどの特定の条件でレコードを特定することです。ここでは、IDを使って商品を削除する方法を示します。

product = session.query(Product).filter(Product.id == 1).first()

# Check if the product exists
if product:
    # Delete the product
    session.delete(product)
    session.commit()

このコードは、IDが1の product を取得し、その存在を確認した上で session.delete(product) で削除対象にし、session.commit() で変更を適用します。

複数レコードの削除

特定の条件に基づいて複数のレコードを一度に削除する必要がある場合もあります。これは、在庫切れの商品や、価格の閾値未満の商品を削除する場合などに有用です。

session.query(Product).filter(Product.is_in_stock == False).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

このクエリは在庫切れの商品を抽出し、.delete(synchronize_session="fetch") で削除し、セッションがデータベースと同期されるようにします。

一括削除

大規模なデータセットでは、一括削除が効率的です。この方法は、レコードをメモリに読み込まずに直接データベースを更新するため、時間とリソースを節約できます。

session.query(Product).filter(Product.price < 100).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

この例では、価格が**$100**未満の商品を抽出し、.delete() メソッドで削除します。これにより、大きなテーブルでも高速かつ効率的な処理が可能です。

テーブル内の全レコードを削除

テーブルを完全にクリアしたい場合、SQLAlchemy では単一のクエリで簡単に実行できます。

session.query(Product).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

.delete(synchronize_session="fetch") メソッドは Product テーブルの全レコードを削除します。これはデータのリセットやテスト環境のクリアに便利です。

タスク

スワイプしてコーディングを開始

データベースから"Headphones"という名前の__商品を削除__するために必要な正確なコード行を記述してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  8
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt