SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite-Einfügung

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