För att infoga data i en SQLite-databas, använd INSERT
uttalande.
När du använder den här satsen anger du vilka kolumner du vill infoga data i, samt vilka data som ska infogas. INSERT
sats lägger till en ny rad i tabellen med angivna data.
Låt oss lägga till en rad med data till våra Artister bord.
Kör följande programsats:
INSERT INTO Artists (ArtistName) VALUES ('Joe Satriani');
Verifiera att data har infogats
Du kan köra en snabb SELECT
uttalande för att kontrollera att data har infogats.
Mer om SELECT
uttalande senare, men för nu, kör följande uttalande:
SELECT * FROM Artists;
Detta bör resultera i att följande visas:
sqlite> SELECT * FROM Artists; 1|Joe Satriani
En genväg
Det finns ett annat sätt att skriva SELECT
uttalande som inte använder så mycket kod.
Du kan helt enkelt utelämna kolumnnamnen från uttalandet, och fälten kommer fortfarande att fyllas i.
Den här metoden kräver dock att du anger ett värde för alla kolumner.
Så här:
INSERT INTO Artists VALUES (NULL, 'Steve Vai');
Kör nu samma SELECT
uttalandet returnerar följande:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai
Om det primära nyckelfältet
Vid det här laget kanske du har märkt att
ArtistId
fältet får sitt värde automatiskt. I vår första INSERT
, vi angav inget värde för den kolumnen. I vår andra INSERT
vi tillhandahöll NULL
som värdet.
Detta händer eftersom kolumnen är av typen INTEGER PRIMARY KEY
. När en kolumn har tilldelats INTEGER PRIMARY KEY
, detta är ett alias för ROWID
. Med en ROWID
, om ett värde inte tillhandahålls av INSERT
sats, infogar SQLite automatiskt sitt eget heltal i det fältet.
Värdet för ROWID
heltal är vanligtvis ett högre än det största ROWID
används för tillfället. På en tom tabell kommer detta värde att börja på 1
.
Så slutresultatet är att om du inte anger ett värde för det fältet kommer SQLite att göra det.
Lägga till flera rader
Du kan använda så många INSERT
uttalanden eftersom du behöver lägga till mer 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');
Och nu vår SELECT
uttalandet returnerar följande:
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
Därefter ska vi titta närmare på hur vi väljer data från vår databas.