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 INTO
sł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
VALUES
sł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