Oversigt :i denne øvelse lærer du om forskellige måder at vise strukturen af en tabel i SQLite.
Hent strukturen af en tabel via SQLite kommandolinje shell-programmet
For at finde ud af strukturen af en tabel via SQLite kommandolinje shell-programmet, skal du følge disse trin:
Først skal du oprette forbindelse til en database via SQLite-kommandolinje-shell-programmet:
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
Udgiv derefter følgende kommando:
.schema table_name
Code language: SQL (Structured Query Language) (sql)
For eksempel viser følgende kommando den sætning, der skabte albums
tabel:
.schema albums
Code language: SQL (Structured Query Language) (sql)
Bemærk, at der ikke er noget semikolon (;
) efter tabelnavnet. Hvis du tilføjer et semikolon (;
), .schema
vil overveje albums;
som tabellens navn og returnerer intet, fordi tabellen albums;
eksisterer ikke.
Her er outputtet:
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)
En anden måde at vise strukturen af en tabel på er at bruge PRAGMA
kommando. For at gøre det skal du bruge følgende kommando til at formatere output:
.header on
.mode column
Code language: SQL (Structured Query Language) (sql)
Og brug PRAGMA
kommando som følger:
pragma table_info('albums');
Code language: JavaScript (javascript)
Følgende billede viser output:
cid name type notnull dflt_value pk
--- -------- ------------- ------- ---------- --
0 AlbumId INTEGER 1 1
1 Title NVARCHAR(160) 1 0
2 ArtistId INTEGER 1 0
Hent strukturen af en tabel ved hjælp af SQL-sætningen
Du kan finde strukturen af en tabel ved at forespørge på den fra sqlite_schema
tabel som følger:
SELECT sql
FROM sqlite_schema
WHERE name = 'albums';
Code language: SQL (Structured Query Language) (sql)
Her er outputtet:
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)
I denne øvelse har du lært, hvordan du viser strukturen af en tabel i SQLite via et kommandolinje-shell-program eller SQL-sætning.