データベースからデータを削除する

Pythonで学ぶデータベース入門

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

テーブルからデータを削除する

  • delete() 文で実行
  • delete() は対象のテーブルを引数に取る
  • where() で削除する行を指定
  • 元に戻しにくいため注意!
Pythonで学ぶデータベース入門

テーブルの全データを削除する

from sqlalchemy import delete

stmt = select([func.count(extra_employees.columns.id)])
connection.execute(stmt).scalar()
3
delete_stmt = delete(extra_employees)

result_proxy = connection.execute(delete_stmt) result_proxy.rowcount
3
Pythonで学ぶデータベース入門

特定の行を削除する

  • 削除対象のレコードを選ぶ where() 句を作成
Pythonで学ぶデータベース入門

特定の行を削除する

stmt = delete(employees).where(employees.columns.id == 3)

result_proxy = connection.execute(stmt) result_proxy.rowcount
1
Pythonで学ぶデータベース入門

テーブルを完全に削除する

  • テーブルの drop() メソッドを使用
  • どのエンジンから削除するか指定するため engine を引数に取る
  • Python プロセスを再起動するまで metadata からは消えない
Pythonで学ぶデータベース入門

テーブルを削除する

extra_employees.drop(engine)

print(extra_employees.exists(engine))
False
Pythonで学ぶデータベース入門

すべてのテーブルを削除する

  • MetaData{{1}} の drop_all() メソッドを使用
Pythonで学ぶデータベース入門

すべてのテーブルを削除する

metadata.drop_all(engine)

engine.table_names()
[]
Pythonで学ぶデータベース入門

練習してみましょう!

Pythonで学ぶデータベース入門

Preparing Video For Download...