Podsumowanie :w tym samouczku poznasz różne sposoby pokazywania struktury tabeli w SQLite.
Pobieranie struktury tabeli za pomocą programu powłoki wiersza poleceń SQLite
Aby poznać strukturę tabeli za pomocą programu powłoki wiersza poleceń SQLite, wykonaj następujące kroki:
Najpierw połącz się z bazą danych za pomocą programu powłoki wiersza poleceń SQLite:
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
Następnie wydaj następujące polecenie:
.schema table_name
Code language: SQL (Structured Query Language) (sql)
Na przykład poniższe polecenie pokazuje instrukcję, która utworzyła albums
tabela:
.schema albums
Code language: SQL (Structured Query Language) (sql)
Zauważ, że nie ma średnika (;
) po nazwie tabeli. Jeśli dodasz średnik (;
), .schema
rozważy albums;
jako nazwę tabeli i nic nie zwraca, ponieważ tabela albums;
nie istnieje.
Oto wynik:
CREATE TABLE IF NOT EXISTS "albums"
(
[AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL,
[ArtistId] INTEGER NOT NULL,
FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
ON DELETE NO ACTION ON UPDATE NO ACTION
);
CREATE INDEX [IFK_AlbumArtistId] ON "albums" ([ArtistId]);
Code language: SQL (Structured Query Language) (sql)
Innym sposobem na pokazanie struktury tabeli jest użycie PRAGMA
Komenda. Aby to zrobić, użyj następującego polecenia do sformatowania danych wyjściowych:
.header on
.mode column
Code language: SQL (Structured Query Language) (sql)
I użyj PRAGMA
polecenie w następujący sposób:
pragma table_info('albums');
Code language: JavaScript (javascript)
Poniższy rysunek przedstawia dane wyjściowe:
cid name type notnull dflt_value pk
--- -------- ------------- ------- ---------- --
0 AlbumId INTEGER 1 1
1 Title NVARCHAR(160) 1 0
2 ArtistId INTEGER 1 0
Pobieranie struktury tabeli za pomocą instrukcji SQL
Strukturę tabeli można znaleźć, wysyłając zapytanie z sqlite_schema
tabela w następujący sposób:
SELECT sql
FROM sqlite_schema
WHERE name = 'albums';
Code language: SQL (Structured Query Language) (sql)
Oto wynik:
sql
------------
CREATE TABLE "albums"
(
[AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL,
[ArtistId] INTEGER NOT NULL,
FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
ON DELETE NO ACTION ON UPDATE NO ACTION
)
Code language: SQL (Structured Query Language) (sql)
W tym samouczku nauczyłeś się, jak pokazać strukturę tabeli w SQLite za pomocą programu powłoki wiersza poleceń lub instrukcji SQL.