Aby wstawić dane do bazy danych SQLite, użyj INSERT
oświadczenie.
Korzystając z tej instrukcji, określasz, do których kolumn wstawić dane, a także dane, które zostaną wstawione. INSERT
instrukcja dodaje nowy wiersz do tabeli z określonymi danymi.
Dodajmy wiersz danych do naszych Wykonawców tabela.
Uruchom następującą instrukcję:
INSERT INTO Artists (ArtistName) VALUES ('Joe Satriani');
Sprawdź, czy dane zostały wstawione
Możesz uruchomić szybki SELECT
oświadczenie, aby sprawdzić, czy dane zostały wprowadzone.
Więcej o SELECT
oświadczenie później, ale na razie uruchom następującą instrukcję:
SELECT * FROM Artists;
Powinno to spowodować wyświetlenie następujących informacji:
sqlite> SELECT * FROM Artists; 1|Joe Satriani
Skrót
Jest inny sposób na napisanie SELECT
oświadczenie, które nie używa tak dużo kodu.
Możesz po prostu pominąć nazwy kolumn w wyciągu, a pola nadal będą wypełnione.
Jednak ta metoda wymaga podania wartości dla wszystkich kolumn.
Tak:
INSERT INTO Artists VALUES (NULL, 'Steve Vai');
Teraz uruchamiam ten sam SELECT
oświadczenie zwróci następujące informacje:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai
Informacje o polu klucza podstawowego
Do tej pory być może zauważyłeś, że
ArtistId
pole otrzymuje swoją wartość automatycznie. W naszym pierwszym INSERT
, nie podaliśmy wartości dla tej kolumny. W naszym drugim INSERT
podaliśmy NULL
jako wartość.
Dzieje się tak, ponieważ kolumna ma typ INTEGER PRIMARY KEY
. Kiedy kolumna została przypisana INTEGER PRIMARY KEY
, to jest alias dla ROWID
. Z ROWID
, jeśli wartość nie jest podana przez INSERT
instrukcji, SQLite automatycznie wstawia do tego pola własną liczbę całkowitą.
Wartość ROWID
liczba całkowita jest zwykle o jeden wyższa niż największy ROWID
obecnie w użyciu. W pustej tabeli ta wartość zacznie się od 1
.
Tak więc końcowy wynik jest taki, że jeśli nie podasz wartości dla tego pola, SQLite to zrobi.
Dodawanie wielu wierszy
Możesz użyć tylu INSERT
oświadczenia, ponieważ musisz dodać więcej danych.
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');
A teraz nasz SELECT
oświadczenie zwróci następujące informacje:
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
Następnie przyjrzymy się bliżej wybieraniu danych z naszej bazy danych.