Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie mit der SQL INSERT-Anweisung Daten einfügen in Tabellen.
Die Anweisung INSERT
fügt eine oder mehrere Zeilen in eine Tabelle ein. Die Anweisung INSERT
wird manchmal als INSERT INTO
-Anweisung bezeichnet.
SQL INSERT-Anweisung – Fügen Sie eine Zeile in eine ein Tabelle
Im Folgenden wird die Anweisung INSERT
veranschaulicht, mit der eine einzelne Zeile in eine vorhandene Tabelle eingefügt wird.
1
2
|
INSERT INTO-Tabelle (Spalte 1, Spalte 2, …)
VALUES (Wert1, Wert2, …);
|
Um eine Zeile in eine Tabelle einzufügen, müssen Sie Geben Sie drei Dinge an:
- Zuerst die Tabelle, in die Sie eine neue Zeile einfügen möchten, in der
INSERT INTO
-Klausel. - Zweitens eine durch Kommas getrennte Liste von Spalten in der Tabelle, die von Klammern umgeben sind.
- Drittens eine durch Kommas getrennte Liste von Werten, die von Klammern in
VALUES
umgeben sind Klausel.
Die Liste der Spalten muss dieselbe Anzahl von Elementen enthalten wie die Liste der Werte. Andernfalls gibt das Datenbankmodul einen Fehler aus.
Lassen Sie uns einen Blick darauf werfen in der folgenden Tabelle shippers
:
Die folgende INSERT
fügt eine neue Zeile in die Tabelle shippers
ein:
1
2
|
IN Versender EINFÜGEN (Firmenname, Telefon)
VALUES („Alliance Shippers“, „1-800-222-0451“);
|
Zwei Konstanten, "Alliance Shippers"
und "1-800-222-0451"
sind in der Klausel VALUES
angegeben. Das Datenbankmodul fügte sie in die Spalten companyname
und phone
ein.
Nach Ausführung der Anweisung der Datenbankserver Gibt eine Nachricht zurück, um die Anzahl der betroffenen Zeilen anzugeben. In diesem Fall erhalten wir die Meldung „1 Zeile betroffen“, dass eine neue Zeile erfolgreich eingefügt wurde.
Beachten Sie, dass wir die shipperID
nicht angegeben haben Spalte in der Spaltenliste, da die Spalte shipperID
eine Spalte AUTO INCREMENT
ist, generiert das Datenbankmodul bei jeder neuen Zeile automatisch die nächste Sequenz dafür wird in die Tabelle eingefügt.
Damit Sie weniger Code schreiben können, bietet SQL eine kürzere Form der Anweisung INSERT
wie folgt:
1
2
|
INSERT INTO table
VALUES (Wert1, Wert2, …)
|
In diesem Formular muss die Liste der Werte dieselbe Reihenfolge haben wie die Liste der Spalten in der Tabelle. Wenn Sie diese Form der -Anweisung müssen Sie Werte für alle Spalten außer der Spalte AUTO INCREMENT
angeben.
Es wird empfohlen, die Spaltennamen in der Spalte zu verwenden INSERT
-Anweisung, um die Wartung des Codes zu vereinfachen.
Die folgende INSERT
-Anweisung hat den gleichen Effekt wie die Anweisung oben:
1
2
|
IN Versender EINFÜGEN
WERTE (“ Alliance Shippers „,“ 1-800-222-0451 „);
|
SQL INSERT-Anweisung – Fügen Sie mehrere Zeilen in eine Tabelle ein
Mit der Anweisung INSERT
können Sie auch mehrere Zeilen mit einer einzigen Anweisung wie folgt in eine Tabelle einfügen:
1
2
3
4
|
INSERT INTO table_name (Spalte1, Spalte2…)
VALUES (Wert1, Wert2,…),
(Wert1, Wert2,…) ,
…
|
Formular müssen Sie mehrere Wertelisten angeben, jede Liste wird durch ein Komma getrennt.
Die folgende Anweisung INSERT
fügt zwei Zeilen in die Tabelle shippers
ein:
1
2
3
|
INSERT INTO-Versender (Firmenname, Telefon)
VALUES („UPS“, „1-800-782-7892“),
(„DHL“, „1-800-225-5345“)
|
SQL INSERT-Anweisung – Kopieren von Tabellendaten
Anstatt eine Liste von Werten anzugeben, können Sie mit einer SELECT-Anweisung Werte aus einer anderen Tabelle auswählen und an die INSERT
übergeben Erklärung. Auf diese Weise können Sie Daten aus einer Tabelle in eine andere Tabelle kopieren.
Die folgende Anweisung veranschaulicht das Kopieren von Daten von another_table
nach table
:
1
2
3
4
5
6
7
|
INSERT INTO-Tabelle (Spalte1, Spalte2, …)
SELECT
Spalte1, Spalte2, …
FROM
another_table
WHERE
Bedingung
|
Die Liste der Spalten in der Klausel SELECT
muss der Liste der Spalten in der INSERT INTO
entsprechen Klausel. Wenn Sie nur Teildaten kopieren möchten, müssen Sie eine Bedingung in der WHERE-Klausel angeben.
Angenommen, Sie haben eine temporäre Tabelle mit dem Namen shippers_tmp
, die dieselbe hat Struktur als shippers
-Tabelle. Verwenden Sie die folgende Anweisung, um Daten aus der Tabelle shippers
in die Tabelle shippers_tmp
zu kopieren:
1
2
3
4
5
|
INSERT INTO shippers_tmp (Versender-ID, Name, Telefon)
SELECT
Versender-ID, Firmenname, Telefon
FROM
Versender
|
In diesem Lernprogramm haben Sie gelernt, wie Sie mit der Anweisung INSERT
eine oder mehrere Zeilen in eine Tabelle einfügen. Darüber hinaus haben Sie mithilfe der Anweisung INSERT SELECT INTO
gelernt, wie Sie die Daten aus einer Tabelle in eine andere Tabelle kopieren.
- War dieses Lernprogramm? hilfreich?
- JaNein