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

Jak sprawdzić, czy tabela istnieje w SQLite?

W SQLite możemy zapytać o sqlite_schema tabeli, aby dowiedzieć się, czy dana tabela istnieje.

Przed wersją SQLite 3.33.0 ta tabela była określana jako sqlite_master (nadal może być określany jako taki w kolejnych wydaniach w celu zapewnienia kompatybilności wstecznej).

Przykład

Oto przykład do zademonstrowania:

SELECT EXISTS (
    SELECT 
        name
    FROM 
        sqlite_schema 
    WHERE 
        type='table' AND 
        name='Customers'
    );

Wynik:

1

W tym przypadku tabela istnieje i 1 jest zwracany.

Oto przykład tego, co się dzieje, gdy tabela nie istnieje:

SELECT EXISTS (
    SELECT 
        name
    FROM 
        sqlite_schema 
    WHERE 
        type='table' AND 
        name='Inventory'
    );

Wynik:

0

sqlite_master Tabela

To samo zapytanie można uruchomić za pomocą sqlite_master zamiast sqlite_schema :

SELECT EXISTS (
    SELECT 
        name
    FROM 
        sqlite_master 
    WHERE 
        type='table' AND 
        name='Customers'
    );

Wynik:

1

Możesz także użyć sqlite_temp_schema lub sqlite_temp_master , ale działają one tylko dla TEMP baza danych powiązana z każdym połączeniem z bazą danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmień separator na przecinek w wynikach zapytania SQLite

  2. Jak mogę dodać nowe kolumny do bazy danych SQLite po wydaniu aplikacji na Androida?

  3. Jak uzyskać wczorajszą datę w SQLite?

  4. Sqlite Android Raw Query INSERT INTO Nie działa

  5. Aktywność i dostęp usług w tle do bazy danych SQLite