SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite - Upuść tabelę

Aby upuścić tabelę w SQLite, użyj DROP TABLE oświadczenie.

Uruchomienie tej instrukcji usuwa tabelę z bazy danych. Jest całkowicie usuwany ze schematu bazy danych i pliku na dysku. Dlatego tabeli nie można odzyskać. Wszystkie indeksy i wyzwalacze powiązane z tabelą również zostaną usunięte.

Podstawowa DROP TABLE Oświadczenie

Najpierw przejrzyjmy tabele w naszej bazie danych:

sqlite> .tables
Albums   Albums1  Albums2  Artists

Mamy kilka zapasowych tabel z naszych poprzednich ćwiczeń, więc odrzućmy jeden.

Poniższy kod usuwa Albumy1 tabela:

DROP TABLE Albums1;

Po uruchomieniu tego kodu możemy ponownie przejrzeć nasze tabele:

sqlite> .tables
Albums   Albums2  Artists

Stół został usunięty.

Sprawdź, czy tabela istnieje

Możesz użyć IF EXISTS klauzula, aby sprawdzić, czy tabela istnieje, zanim SQLite spróbuje ją usunąć.

Zapobiega to wszelkim błędom, które normalnie byłyby generowane, gdyby tabela nie istniała.

Najpierw spróbujmy usunąć nieistniejącą tabelę bez za pomocą IF EXISTS klauzula. Spróbujmy odrzucić ten, który właśnie porzuciliśmy:

DROP TABLE Album1;

Skutkuje to następującym:

sqlite> DROP TABLE Album1;
Error: no such table: Album1

OK, spróbujmy jeszcze raz, ale tym razem z IF EXISTS klauzula:

DROP TABLE IF EXISTS Album1;

Wynik:

sqlite> DROP TABLE IF EXISTS Album1;
sqlite> 

Więc nic się nie stało. Co ważne, nie został zgłoszony żaden błąd.

Upuść tabelę z kluczami podstawowymi

Co się stanie, jeśli spróbujemy usunąć tabelę zawierającą klucze podstawowe, a odwołują się do nich klucze obce?

Spróbujmy:

DROP TABLE Artists;

Wynik:

sqlite> DROP TABLE Artists;
Error: FOREIGN KEY constraint failed

Zgodnie z oczekiwaniami, nie powiodło się. Więc jeśli chcesz usunąć tabelę, musisz najpierw usunąć wszystkie powiązane tabele.

SQLite faktycznie próbuje usunąć dane, zanim usunie tabelę. To właśnie ta akcja usuwania powoduje, że wszystkie kontrole klucza obcego mają miejsce.

SQLite usuwa również wszelkie indeksy lub wyzwalacze powiązane z tabelą, zanim wykona operację usunięcia (i późniejszego usunięcia).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie masz blokady bazy danych! w Androidzie

  2. Wstaw dane JSON do bazy danych SQLite w Androidzie

  3. Jak stworzyć aplikację do internacjonalizacji offline:Zbuduj strukturę projektu

  4. Co powinienem wybrać — JSON czy SQLite?

  5. SQLiteDatabase błąd sqlite:(1) blisko ):błąd składni