Usuwanie wszystkich rekordów z tabeli
Czasem zachodzi potrzeba wyczyszczenia tabeli ze wszystkich rekordów, aby móc załadować dane od nowa. Można to zrobić za pomocą instrukcji delete, której jedynym argumentem jest tabela. Na przykład w filmie Jason usunął tabelę extra_employees w następujący sposób:
delete_stmt = delete(extra_employees)
result_proxy = connection.execute(delete_stmt)
Uważaj jednak – operacji usuwania nie można cofnąć!
To ćwiczenie jest częścią kursu
Wprowadzenie do baz danych w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
deleteiselectz sqlalchemy. - Zbuduj instrukcję
deleteusuwającą wszystkie dane z tabelicensus. Zapisz ją jakodelete_stmt. - Wykonaj
delete_stmtza pośrednictwemconnectioni zapisz wyniki jakoresults. - Prześlij odpowiedź, aby wykonać
selectna wszystkich pozostałych wierszach tabelicensusi wydrukować wynik – upewnij się, że tabela jest teraz pusta!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import delete, select
from sqlalchemy import ____, ____
# Build a statement to empty the census table: stmt
delete_stmt = ____
# Execute the statement: results
results = ____
# Print affected rowcount
print(results.rowcount)
# Build a statement to select all records from the census table : select_stmt
select_stmt = select([census])
# Print the results of executing the statement to verify there are no rows
print(connection.execute(select_stmt).fetchall())