Forudsætning:
Du skal udføre følgende opgaver, før du øver dig i SQLite-sætningerne i denne øvelse:
A. Kør følgende kommando for at oprette en SQLite-fil med navnet 'company.db', der indeholder databasetabellerne:
sqlite3 firma.db
B. Kør følgende SQLite-kommando for at kontrollere, om databasen er oprettet eller ej:
.databaser
C. Kør følgende SQL-sætning for at oprette en tabel med navnet 'produkter'. Tabellen indeholder fem felter og en primær nøgle:
SKAB BORD Produkter (
id HELTAL PRIMÆR NØGLE ,
navn TEKST IKKE NUL ENESTÅENDE ,
TYPE TEKST IKKE NUL ,
mærke TEKST IKKE NUL ,
pris INETEGER IKKE NUL ) ;
D. Kør følgende SQL-sætning for at oprette en tabel med navnet 'leverandører'. Tabellen indeholder fem felter, en primær nøgle og en fremmed nøgle. Så tabellen 'produkter' og 'leverandører' er forbundet med den fremmede nøgle:
SKAB BORD leverandører (
id HELTAL PRIMÆR NØGLE ,
navn TEKST IKKE NUL ENESTÅENDE ,
adresse TEKST IKKE NUL ,
mærke TEKST IKKE NUL ,
produkt-id INETEGER IKKE NUL ,
UDENLANDSK NØGLE ( produkt_id ) REFERENCER Produkter ( id ) ) ;
E. Kør de nødvendige kommandoer for at formatere outputtet og kontrollere strukturen af 'produkter'-tabellen med overskrift og tabelform.
Følgende kommando viser headeren på outputtet:
.header på
Følgende kommando viser det kolonnebaserede output:
.mode kolonneFølgende kommando viser strukturen af 'produkter'-tabellen i tabelform:
pragma tabel_info ( 'Produkter' ) ;Strukturen af tabellen 'produkter' er vist på følgende billede med overskriften:
Syntaks:
Syntaksen for SQL-kommandoen til at slette kolonnen i tabellen er angivet i det følgende. ALTER TABLE-sætningen bruges til at slette eller tilføje kolonnen i tabellen.
ÆNDRE BORD TABLE_NAME DRÅBE KOLONNE kolonnenavn;Forskellige eksempler på at slippe en kolonne fra SQLite-tabel
De tre måder at fjerne kolonnen fra en SQLite-tabel på er vist i denne del af selvstudiet.
Eksempel 1: Slip kolonnen fra tabellen
Kør følgende ALTER TABLE-sætning for at fjerne 'brand'-feltet fra 'product s ' bord:
ÆNDRE BORD Produkter DRÅBE KOLONNE mærke;Kør følgende SQLite-kommando for at kontrollere, om 'brand'-feltet er slettet eller ej fra 'products'-tabellen:
pragma tabel_info ( 'Produkter' ) ;Outputtet viser, at feltet 'mærke' er fjernet fra tabellen 'produkter'.
Eksempel 2: Slip kolonnen fra tabellen, der er en primær nøgle
Den primære nøgle bruges i tabellen til at identificere hver post separat. Så den primære kan ikke slettes fra tabellen, og der vises en fejl, hvis ALTER TABLE-sætningen bruges til at fjerne det primære nøglefelt. Kør følgende ALTER TABLE-sætning for at fjerne feltet 'id' fra tabellen 'produkter', som er tabellens primære nøgle:
ÆNDRE BORD Produkter DRÅBE KOLONNE id;Følgende fejl vises, hvis du vil slette den primære nøgle i tabellen:
Eksempel 3: Slip en kolonne fra tabellen, der er en fremmednøgle
Ligesom den primære nøgle kan tabellens fremmednøgle ikke slippes, før forholdet mellem tabellerne er fjernet. Kør følgende ALTER TABLE-sætning for at fjerne feltet 'product_id' fra tabellen 'leverandører', som er fremmed for tabellen:
ÆNDRE BORD leverandører DRÅBE KOLONNE produkt_id;Følgende fejl vises, hvis du ønsker at slette fremmednøglen i tabellen:
Konklusion
Tre forskellige typer eksempler er vist i denne vejledning for at slippe en kolonne fra en SQLite-tabel, hvor det undersøges, at de primære og fremmede nøglefelter i tabellen ikke kan slettes.