Usuwanie danych z bazy danych

Wprowadzenie do baz danych w Pythonie

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Usuwanie danych z tabeli

  • Realizowane za pomocą instrukcji delete()
  • delete() przyjmuje jako argument tabelę, z której usuwamy dane
  • Klauzula where() określa, które wiersze usunąć
  • Operacji trudno cofnąć – należy zachować ostrożność!
Wprowadzenie do baz danych w Pythonie

Usuwanie wszystkich danych z tabeli

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
Wprowadzenie do baz danych w Pythonie

Usuwanie wybranych wierszy

  • Należy zbudować klauzulę where() wskazującą rekordy do usunięcia
Wprowadzenie do baz danych w Pythonie

Usuwanie wybranych wierszy

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

result_proxy = connection.execute(stmt) result_proxy.rowcount
1
Wprowadzenie do baz danych w Pythonie

Całkowite usunięcie tabeli

  • Używa metody drop() na tabeli
  • Przyjmuje silnik jako argument, aby wiedzieć, skąd usunąć tabelę
  • Nie usuwa tabeli z metadanych do momentu restartu procesu Python
Wprowadzenie do baz danych w Pythonie

Usuwanie tabeli

extra_employees.drop(engine)

print(extra_employees.exists(engine))
False
Wprowadzenie do baz danych w Pythonie

Usuwanie wszystkich tabel

  • Używa metody drop_all() na obiekcie MetaData
Wprowadzenie do baz danych w Pythonie

Usuwanie wszystkich tabel

metadata.drop_all(engine)

engine.table_names()
[]
Wprowadzenie do baz danych w Pythonie

Czas na ćwiczenia!

Wprowadzenie do baz danych w Pythonie

Preparing Video For Download...