For at indsætte data i en SQLite-database, brug INSERT
erklæring.
Når du bruger denne sætning, angiver du, hvilke kolonner der skal indsættes data i, samt hvilke data der vil blive indsat. INSERT
sætning tilføjer en ny række til tabellen med de angivne data.
Lad os tilføje en række data til vores Kunstnere tabel.
Kør følgende sætning:
INSERT INTO Artists (ArtistName) VALUES ('Joe Satriani');
Bekræft, at dataene blev indsat
Du kan køre en hurtig SELECT
erklæring for at kontrollere, at dataene er indsat.
Mere om SELECT
sætning senere, men for nu, kør følgende sætning:
SELECT * FROM Artists;
Dette skulle resultere i, at følgende vises:
sqlite> SELECT * FROM Artists; 1|Joe Satriani
En genvej
Der er en anden måde at skrive SELECT
på sætning, der ikke bruger så meget kode.
Du kan blot udelade kolonnenavnene fra erklæringen, og felterne vil stadig være udfyldt.
Denne metode kræver dog, at du angiver en værdi for alle kolonner.
Sådan:
INSERT INTO Artists VALUES (NULL, 'Steve Vai');
Kør nu den samme SELECT
erklæring returnerer følgende:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai
Om det primære nøglefelt
Nu har du måske bemærket, at
ArtistId
feltet får sin værdi automatisk. I vores første INSERT
, vi har ikke angivet en værdi for den kolonne. I vores anden INSERT
vi leverede NULL
som værdien.
Dette sker, fordi kolonnen er af typen INTEGER PRIMARY KEY
. Når en kolonne er blevet tildelt INTEGER PRIMARY KEY
, dette er et alias for ROWID
. Med en ROWID
, hvis en værdi ikke er angivet af INSERT
sætning, indsætter SQLite automatisk sit eget heltal i det felt.
Værdien af ROWID
heltal er normalt et højere end det største ROWID
i øjeblikket i brug. På en tom tabel starter denne værdi ved 1
.
Så slutresultatet er, hvis du ikke angiver en værdi for det felt, vil SQLite det.
Tilføjelse af flere rækker
Du kan bruge lige så mange INSERT
udsagn, da du skal tilføje flere data.
INSERT INTO Artists VALUES (NULL, 'The Tea Party'); INSERT INTO Artists VALUES (NULL, 'Noiseworks'); INSERT INTO Artists VALUES (NULL, 'Wayne Jury'); INSERT INTO Artists VALUES (NULL, 'Mr Percival'); INSERT INTO Artists VALUES (NULL, 'Iron Maiden'); INSERT INTO Artists VALUES (NULL, 'Atmasphere'); INSERT INTO Artists VALUES (NULL, 'Ian Moss'); INSERT INTO Artists VALUES (NULL, 'Magnum'); INSERT INTO Artists VALUES (NULL, 'Strapping Young Lad'); INSERT INTO Artists VALUES (NULL, 'Slayer'); INSERT INTO Artists VALUES (NULL, 'Primus'); INSERT INTO Artists VALUES (NULL, 'Pat Metheny'); INSERT INTO Artists VALUES (NULL, 'Frank Gambale'); INSERT INTO Artists VALUES (NULL, 'Frank Zappa'); INSERT INTO Artists VALUES (NULL, 'The Wiggles');
Og nu vores SELECT
erklæring returnerer følgende:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai 3|The Tea Party 4|Noiseworks 5|Wayne Jury 6|Mr Percival 7|Iron Maiden 8|Atmasphere 9|Ian Moss 10|Magnum 11|Strapping Young Lad 12|Slayer 13|Primus 14|Pat Metheny 15|Frank Gambale 16|Frank Zappa 17|The Wiggles
Dernæst vil vi se nærmere på valg af data fra vores database.