Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie SQLite INSERT
verwenden Anweisung zum Einfügen neuer Zeilen in eine Tabelle.
Um Daten in eine Tabelle einzufügen, verwenden Sie den INSERT
Erklärung. SQLite bietet verschiedene Formen des INSERT
Anweisungen, mit denen Sie eine einzelne Zeile, mehrere Zeilen und Standardwerte in eine Tabelle einfügen können.
Außerdem können Sie eine Zeile in eine Tabelle einfügen, indem Sie Daten verwenden, die von einem SELECT
bereitgestellt werden Aussage.
SQLite INSERT
– Einfügen einer einzelnen Zeile in eine Tabelle
Um eine einzelne Zeile in eine Tabelle einzufügen, verwenden Sie die folgende Form des INSERT
Aussage:
INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Untersuchen wir den INSERT
Erklärung im Detail:
- Geben Sie zuerst den Namen der Tabelle an, in die Sie Daten nach dem
INSERT INTO
einfügen möchten Schlüsselwörter. - Fügen Sie zweitens eine durch Kommas getrennte Liste von Spalten nach dem Tabellennamen hinzu. Die Spaltenliste ist optional. Es empfiehlt sich jedoch, die Spaltenliste nach dem Tabellennamen einzufügen.
- Drittens fügen Sie nach den
VALUES
eine durch Kommas getrennte Liste von Werten hinzu Stichwort. Wenn Sie die Spaltenliste weglassen, müssen Sie Werte für alle Spalten in der Werteliste angeben. Die Anzahl der Werte in der Werteliste muss gleich der Anzahl der Spalten in der Spaltenliste sein.
Wir verwenden die artists
Tabelle in der Beispieldatenbank für die Demonstration.
Die folgende Anweisung fügt eine neue Zeile in den artists
ein Tabelle:
INSERT INTO artists (name)
VALUES('Bud Powell');
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Da die ArtistId
Spalte eine Auto-Increment-Spalte ist, können Sie sie in der Anweisung ignorieren. SQLite generiert automatisch eine fortlaufende Ganzzahl zum Einfügen in die ArtistId
Spalte.
Sie können die Einfügeoperation mit dem folgenden SELECT
überprüfen Aussage:
SELECT
ArtistId,
Name
FROM
Artists
ORDER BY
ArtistId DESC
LIMIT 1;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Wie Sie sehen, haben wir eine neue Zeile in den artists
Tabelle.
SQLite INSERT
– Mehrere Zeilen in eine Tabelle einfügen
Um mehrere Zeilen in eine Tabelle einzufügen, verwenden Sie die folgende Form des INSERT
Aussage:
INSERT INTO table1 (column1,column2 ,..)
VALUES
(value1,value2 ,...),
(value1,value2 ,...),
...
(value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Jede Werteliste nach VALUES
-Klausel ist eine Zeile, die in die Tabelle eingefügt wird.
Das folgende Beispiel fügt drei Zeilen in den artists
ein Tabelle:
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd");
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
SQLite hat eine Nachricht ausgegeben:
Row Affected: 3
Sie können das Ergebnis mit der folgenden Anweisung überprüfen:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC
LIMIT 3;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
SQLite INSERT
– Einfügen von Standardwerten
Wenn Sie eine neue Tabelle mit CREATE TABLE
erstellen -Anweisung können Sie Standardwerte für Spalten oder einen NULL
angeben wenn kein Standardwert angegeben ist.
Die dritte Form des INSERT
Anweisung ist INSERT DEFAULT VALUES
, das eine neue Zeile in eine Tabelle einfügt, wobei die in der Spaltendefinition angegebenen Standardwerte oder NULL
verwendet werden wenn der Standardwert nicht verfügbar ist und die Spalte kein NOT NULL
hat Einschränkung.
Die folgende Anweisung fügt beispielsweise eine neue Zeile in artists
ein Tabelle mit INSERT DEFAULT VALUES
:
INSERT INTO artists DEFAULT VALUES;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Um die Einfügung zu überprüfen, verwenden Sie die folgende Anweisung:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Der Standardwert der ArtistId
Spalte ist die nächste aufeinanderfolgende ganze Zahl . Allerdings ist der name
Spalte hat keinen Standardwert, daher die INSERT DEFAULT VALUES
Anweisung fügt NULL
ein hinein.
SQLite INSERT
– Einfügen neuer Zeilen mit Daten, die von einem SELECT
bereitgestellt werden Erklärung
Angenommen, Sie möchten die artists
sichern Tabelle können Sie folgendermaßen vorgehen:
Erstellen Sie zunächst eine neue Tabelle mit dem Namen artists_backup
wie folgt:
CREATE TABLE artists_backup(
ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
Name NVARCHAR
);
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Um Daten in das artists_backup
einzufügen Tabelle mit den Daten der artists
Tabelle verwenden Sie den INSERT INTO SELECT
Anweisung wie folgt:
INSERT INTO artists_backup
SELECT ArtistId, Name
FROM artists;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Wenn Sie Daten aus der Datei artists_backup
abfragen Tabelle sehen Sie alle Daten in den artists
Tabelle.
SELECT * FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
In diesem Tutorial haben Sie gelernt, wie Sie verschiedene Formen von SQLite INSERT
verwenden Anweisung, die neue Zeilen in eine Tabelle einfügt.
Referenzen
- https://www.sqlite.org/lang_insert.html – SQLite-INSERT-Anweisung