Būtina sąlyga:
Prieš praktikuodami šios pamokos SQLite teiginius, turite atlikti šias užduotis:
A. Paleiskite šią komandą, kad sukurtumėte SQLite failą pavadinimu „company.db“, kuriame yra duomenų bazės lentelės:
sqlite3 company.db
B. Paleiskite šią SQLite komandą, kad patikrintumėte, ar duomenų bazė sukurta, ar ne:
.duomenų bazės
C. Paleiskite šį SQL sakinį, kad sukurtumėte lentelę pavadinimu „products“. Lentelėje yra penki laukai ir vienas pirminis raktas:
KURTI LENTELĖ Produktai (
id SVEIKI SKAIČIUS PAGRINDINĖ RAKTAS ,
pavadinimas TEKSTAS NE NULL UNIKALUS ,
TIPAS TEKSTAS NE NULL ,
prekės ženklas TEXT NE NULL ,
kaina INETEGER NE NULL ) ;
D. Paleiskite šį SQL sakinį, kad sukurtumėte lentelę pavadinimu „tiekėjai“. Lentelėje yra penki laukai, vienas pirminis raktas ir vienas išorinis raktas. Taigi lentelės „produktai“ ir „tiekėjai“ yra susietos su išoriniu raktu:
KURTI LENTELĖ tiekėjų (
id SVEIKI SKAIČIUS PAGRINDINĖ RAKTAS ,
pavadinimas TEKSTAS NE NULL UNIKALUS ,
adresas TEXT NE NULL ,
prekės ženklas TEXT NE NULL ,
produkto_id INETEGER NE NULL ,
UŽSIENIO RAKTAS ( produkto_id ) NUORODOS Produktai ( id ) ) ;
E. Paleiskite reikiamas komandas, kad formatuotumėte išvestį ir patikrintumėte lentelės „produktai“ struktūrą su antrašte ir lentelės forma.
Ši komanda rodo išvesties antraštę:
.antraštė įjungta
Ši komanda rodo stulpelio išvestį:
.mode stulpelisŠi komanda lentelės pavidalu rodo „produktų“ lentelės struktūrą:
pragma table_info ( 'Produktai' ) ;„Gaminių“ lentelės struktūra parodyta toliau pateiktame paveikslėlyje su antrašte:
Sintaksė:
Toliau pateikiama SQL komandos, skirtos išmesti lentelės stulpelį, sintaksė. Teiginys ALTER TABLE naudojamas lentelės stulpeliui ištrinti arba pridėti.
ALTER LENTELĖ TABLE_NAME NULEISTI Stulpelis stulpelio_pavadinimas;Įvairūs pavyzdžiai, kaip pašalinti stulpelį iš SQLite lentelės
Trys stulpelio išmetimo iš SQLite lentelės būdai parodyti šioje pamokos dalyje.
1 pavyzdys: išmeskite stulpelį iš lentelės
Vykdykite toliau pateiktą ALTER TABLE teiginį, kad pašalintumėte lauką „prekės ženklas“ iš „produkto s “ lentelė:
ALTER LENTELĖ Produktai NULEISTI Stulpelis prekės ženklas;Paleiskite šią SQLite komandą, kad patikrintumėte, ar „prekės ženklo“ laukas ištrintas, ar ne iš „produktų“ lentelės:
pragma table_info ( 'Produktai' ) ;Išvestis rodo, kad laukas 'prekės ženklas' pašalintas iš 'produktų' lentelės.
2 pavyzdys: išmeskite iš lentelės stulpelį, kuris yra pagrindinis raktas
Pirminis raktas naudojamas lentelėje kiekvienam įrašui identifikuoti atskirai. Taigi, pirminio negalima išmesti iš lentelės ir atsiranda klaida, jei ALTER TABLE sakinys naudojamas pagrindinio rakto laukui pašalinti. Paleiskite šį ALTER TABLE teiginį, kad pašalintumėte lauką „id“ iš lentelės „products“, kuri yra pagrindinis lentelės raktas:
ALTER LENTELĖ Produktai NULEISTI Stulpelis id;Jei norite atsisakyti pirminio lentelės rakto, rodoma ši klaida:
3 pavyzdys: išmeskite iš lentelės stulpelį, kuris yra svetimas raktas
Kaip ir pirminio rakto, lentelės išorinio rakto negalima atsisakyti tol, kol nebus pašalintas ryšys tarp lentelių. Vykdykite šį ALTER TABLE teiginį, kad pašalintumėte lauką „product_id“ iš lentelės „tiekėjai“, kuris yra svetimas lentelei:
ALTER LENTELĖ tiekėjų NULEISTI Stulpelis produkto_id;Jei norite atsisakyti lentelės išorinio rakto, pasirodo ši klaida:
Išvada
Šioje mokymo programoje pateikiami trijų skirtingų tipų pavyzdžiai, kaip išmesti stulpelį iš SQLite lentelės, kur patikrinama, ar lentelės pirminio ir išorinio rakto laukų negalima išmesti.