Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite INSERT oświadczenie, aby wstawić nowe wiersze do tabeli.
Aby wstawić dane do tabeli, użyj INSERT oświadczenie. SQLite zapewnia różne formy INSERT wyrażenia, które pozwalają wstawić pojedynczy wiersz, wiele wierszy i wartości domyślne do tabeli.
Ponadto możesz wstawić wiersz do tabeli, korzystając z danych dostarczonych przez SELECT oświadczenie.
SQLite INSERT – wstawienie pojedynczego wiersza do tabeli
Aby wstawić pojedynczy wiersz do tabeli, użyj następującej formy INSERT oświadczenie:
INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);Code language: SQL (Structured Query Language) (sql)
Przyjrzyjmy się INSERT bardziej szczegółowe oświadczenie:
- Najpierw określ nazwę tabeli, do której chcesz wstawić dane po
INSERT INTOsłowa kluczowe. - Po drugie, dodaj rozdzieloną przecinkami listę kolumn po nazwie tabeli. Lista kolumn jest opcjonalna. Jednak dobrą praktyką jest umieszczenie listy kolumn po nazwie tabeli.
- Po trzecie, dodaj rozdzieloną przecinkami listę wartości po
VALUESsłowo kluczowe. Jeśli pominiesz listę kolumn, musisz określić wartości dla wszystkich kolumn na liście wartości. Liczba wartości na liście wartości musi być taka sama jak liczba kolumn na liście kolumn.
Użyjemy artists tabeli w przykładowej bazie danych do demonstracji.
Poniższa instrukcja wstawia nowy wiersz do artists tabela:
INSERT INTO artists (name)
VALUES('Bud Powell');Code language: SQL (Structured Query Language) (sql) Wypróbuj
Ponieważ ArtistId kolumna jest kolumną z automatycznym przyrostem, można ją zignorować w oświadczeniu. SQLite automatycznie generuje kolejną liczbę całkowitą do wstawienia do ArtistId kolumna.
Możesz zweryfikować operację wstawiania, używając następującego SELECT oświadczenie:
SELECT
ArtistId,
Name
FROM
Artists
ORDER BY
ArtistId DESC
LIMIT 1;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Jak widzisz, mamy nowy wiersz w artists tabela.
SQLite INSERT – Wstawianie wielu wierszy do tabeli
Aby wstawić wiele wierszy do tabeli, użyj następującej formy INSERT oświadczenie:
INSERT INTO table1 (column1,column2 ,..)
VALUES
(value1,value2 ,...),
(value1,value2 ,...),
...
(value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Każda lista wartości następująca po VALUES klauzula jest wierszem, który zostanie wstawiony do tabeli.
Poniższy przykład wstawia trzy wiersze do artists tabela:
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd");Code language: SQL (Structured Query Language) (sql) Wypróbuj
SQLite wysłał wiadomość:
Row Affected: 3 Możesz zweryfikować wynik za pomocą następującego oświadczenia:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC
LIMIT 3;Code language: SQL (Structured Query Language) (sql) Wypróbuj
SQLite INSERT – Wstawianie wartości domyślnych
Kiedy tworzysz nową tabelę za pomocą CREATE TABLE oświadczenie, możesz określić wartości domyślne dla kolumn lub NULL jeśli nie określono wartości domyślnej.
Trzecia forma INSERT instrukcja to INSERT DEFAULT VALUES , który wstawia nowy wiersz do tabeli przy użyciu wartości domyślnych określonych w definicji kolumny lub NULL jeśli wartość domyślna nie jest dostępna, a kolumna nie ma NOT NULL ograniczenie.
Na przykład poniższa instrukcja wstawia nowy wiersz do artists tabela przy użyciu INSERT DEFAULT VALUES :
INSERT INTO artists DEFAULT VALUES;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Aby zweryfikować wstawkę, użyj następującej instrukcji:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Domyślna wartość ArtistId kolumna jest następną sekwencyjną liczbą całkowitą . Jednak name kolumna nie ma żadnej wartości domyślnej, dlatego INSERT DEFAULT VALUES instrukcja wstawia NULL do niego.
SQLite INSERT – Wstawianie nowych wierszy z danymi dostarczonymi przez SELECT oświadczenie
Załóżmy, że chcesz wykonać kopię zapasową artists tabeli, możesz wykonać następujące kroki:
Najpierw utwórz nową tabelę o nazwie artists_backup w następujący sposób:
CREATE TABLE artists_backup(
ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
Name NVARCHAR
);Code language: SQL (Structured Query Language) (sql) Wypróbuj
Aby wstawić dane do artists_backup tabela z danymi od artists tabeli, użyj INSERT INTO SELECT oświadczenie w następujący sposób:
INSERT INTO artists_backup
SELECT ArtistId, Name
FROM artists;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Jeśli zapytasz o dane z artists_backup tabeli, zobaczysz wszystkie dane w artists tabela.
SELECT * FROM artists_backup;Code language: SQL (Structured Query Language) (sql) Wypróbuj
W tym samouczku nauczyłeś się korzystać z różnych form SQLite INSERT oświadczenie, które wstawia nowe wiersze do tabeli.
Referencje
- https://www.sqlite.org/lang_insert.html – instrukcja SQLite INSERT