Om gegevens in een SQLite-database in te voegen, gebruikt u de INSERT
verklaring.
Wanneer u deze verklaring gebruikt, geeft u op in welke kolommen gegevens moeten worden ingevoegd, evenals de gegevens die worden ingevoegd. De INSERT
statement voegt een nieuwe rij toe aan de tabel met de gespecificeerde gegevens.
Laten we een rij gegevens toevoegen aan onze Artiesten tafel.
Voer de volgende instructie uit:
INSERT INTO Artists (ArtistName) VALUES ('Joe Satriani');
Controleer of de gegevens zijn ingevoegd
U kunt een snelle SELECT
. uitvoeren statement om te controleren of de gegevens zijn ingevoerd.
Meer over de SELECT
instructie later, maar voer voor nu de volgende instructie uit:
SELECT * FROM Artists;
Dit zou ertoe moeten leiden dat het volgende wordt weergegeven:
sqlite> SELECT * FROM Artists; 1|Joe Satriani
Een snelkoppeling
Er is een andere manier om de SELECT
. te schrijven statement dat niet zoveel code gebruikt.
U kunt de kolomnamen gewoon weglaten uit de verklaring, en de velden zullen nog steeds worden ingevuld.
Deze methode vereist echter dat u een waarde opgeeft voor alle kolommen.
Zoals dit:
INSERT INTO Artists VALUES (NULL, 'Steve Vai');
Nu dezelfde SELECT
. uitvoeren statement geeft het volgende terug:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai
Over het veld Primaire sleutel
Inmiddels is het je misschien opgevallen dat de
ArtistId
veld krijgt automatisch zijn waarde. In onze eerste INSERT
, hebben we geen waarde opgegeven voor die kolom. In onze tweede INSERT
we hebben NULL
opgegeven als de waarde.
Dit gebeurt omdat de kolom van het type is INTEGER PRIMARY KEY
. Wanneer een kolom is toegewezen aan INTEGER PRIMARY KEY
, dit is een alias voor ROWID
. Met een ROWID
, als er geen waarde wordt gegeven door de INSERT
statement, voegt SQLite automatisch zijn eigen geheel getal in dat veld in.
De waarde van de ROWID
geheel getal is meestal één hoger dan de grootste ROWID
momenteel in gebruik. Op een lege tafel begint deze waarde bij 1
.
Het eindresultaat is dus dat als u geen waarde voor dat veld opgeeft, SQLite dat wel zal doen.
Meerdere rijen toevoegen
U kunt zoveel INSERT
. gebruiken verklaringen omdat u meer gegevens moet toevoegen.
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');
En nu onze SELECT
statement geeft het volgende terug:
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
Vervolgens gaan we dieper in op het selecteren van gegevens uit onze database.