Einführung
SQL ist ein unverzichtbares Instrument für die Arbeit mit Daten und daher für jeden wichtig, der mit Daten arbeitet. SQL verfügt über eine breite Palette von Funktionen zum Erstellen, Bearbeiten und Verwalten von Datenbanken, die alles so einfach machen. In diesem Artikel werden wir einen der grundlegende Funktionen in SQL – die INSERT-Anweisung. Diese Anweisung kümmert sich um das Hinzufügen neuer Datensätze zu Tabellen, was uns hilft, unsere Datenbank auf dem neuesten Stand zu halten. Wir werden die grundlegenden Syntaxen von INSERT und einige Beispiele behandeln, um mehr über seine Anwendungsfälle zu erfahren. Kommen wir nun zu unserem Artikel.
Wenn Sie gerade erst mit SQL beginnen, hilft Ihnen der folgende Leitfaden für Anfänger: SQL für Knowledge Science: Ein Leitfaden für Anfänger
Überblick
- Verstehen Sie, was die INSERT-Funktion in SQL macht.
- Lernen Sie die Syntax von INSERT-Anweisungen.
- Erfahren Sie, wie Sie die INSERT-Funktion in verschiedenen Anwendungsfällen implementieren.
Was ist INSERT in SQL?
Die Hauptfunktion der INSERT-Anweisung besteht darin, neue Datensätze zur Tabelle hinzuzufügen. Wir können dies entweder einzeln oder mehrere Datensätze gleichzeitig tun. Die INSERT-Anweisung ist das wichtigste Werkzeug, wenn es darum geht, Datensätze zur Tabelle hinzuzufügen. Wir sollten verstehen, wie diese Anweisung zu verwenden ist, um unsere Daten in jeder SQL-basierten Datenbank intestine verwalten zu können. Es gibt viele Möglichkeiten, Daten in die Tabelle einzufügen. Es ist sehr wichtig, die verschiedenen Möglichkeiten und Optionen der INSERT-Anweisung zu kennen. Nachdem wir nun die INSERT-Anweisungen kennen, wollen wir sie anhand einiger Beispiele kennenlernen.
Erfahren Sie mehr: 24 häufig verwendete SQL-Funktionen für Datenanalyseaufgaben
Beispiel einer Tabellenstruktur
Lassen Sie uns die Funktionsweise von INSERT in SQL anhand eines Dwell-Beispiels verstehen. Dazu müssen wir zunächst eine Beispieltabelle erstellen. So geht das:
CREATE TABLE staff (
employee_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
division VARCHAR(50),
wage DECIMAL(10, 2)
);
Jetzt können wir unsere verschiedenen INSERT-Anweisungen testen.
Grundlegende INSERT-Anweisung
Die grundlegende Syntax, die in SQL zum Einfügen eines einzelnen Datensatzes in die Tabelle verwendet wird, lautet:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Ändern Sie diesen Befehl entsprechend unserer Tabelle. Wir geben den Tabellennamen und die in der Tabelle vorhandenen Spalten an. Übergeben Sie dann den Wertesatz für diese Spalten.
INSERT INTO staff (first_name, last_name, division, wage)
VALUES ('Alice', 'Brown', 'Finance', 80000);
Hier können wir sehen, dass die Reihenfolge der Spalten mit der Reihenfolge der übergebenen Werte übereinstimmt, d. h. Vorname = „Alice“, Nachname = „Brown“, Abteilung = „Finanzen“ und Gehalt = 80000. Daher müssen wir die Reihenfolge beibehalten.
Einfügen mehrerer Zeilen
INSERT INTO staff (col1, col2, and so on)
VALUES
(value_set1),
(value_set2),
(value_set3),
and so on;
Wir können mehrere Datensätze in einer einzigen Anweisung einfügen, indem wir der INSERT-Anweisung mehrere Wertesätze übergeben.
INSERT INTO staff (first_name, last_name, division, wage)
VALUES
('Bob', 'White', 'Gross sales', 58000),
('Carol', 'Inexperienced', 'HR', 54000),
('David', 'Black', 'IT', 75000);
Wir können sehen, dass wir jetzt 4 Datensätze im Ergebnissatz haben. Beachten Sie, dass wir die Reihenfolge der Werte beibehalten sollten, da es sonst beim Einfügen zu Fehlern kommen kann.
EINFÜGEN IN … AUSWÄHLEN
INSERT INTO table_name1 (col1, col2, col3, and so on)
SELECT column1, column2, column3, and so on
FROM table_name2;
Wir können mit der SELECT-Anweisung auch Datensätze aus anderen Tabellen EINFÜGEN. Diese Methode ist sehr nützlich, wenn Daten von einer Tabelle in eine andere kopiert oder übertragen werden. Beachten Sie, dass wir auf den Datentyp der Spalten achten sollten; beide Tabellen sollten die gleichen Datentypen haben. Beispielsweise sollten col1 und column1 den gleichen Datentyp haben. Um genauer zu sein, können wir auch eine WHERE-Klausel einfügen, um nur bestimmte Datensätze einzufügen.
INSERT INTO staff (first_name, last_name, division, wage)
SELECT first_name, last_name, division, wage
FROM new_employees;
Aus dem obigen Code können wir ersehen, dass Datensätze von new_employees in die Tabelle „staff“ kopiert wurden. Vorher hatten wir 4 Datensätze und jetzt haben wir 7 Datensätze.
INSERT mit Standardwerten
Wir können beim Einfügen von Datensätzen bestimmte Spalten weglassen. Dies ist möglich, wenn einige Standardwerte definiert sind oder null sind.
INSERT INTO staff (first_name, last_name, division)
VALUES ('Eve', 'Silver', 'Operations');
Im obigen Code haben wir den Gehaltswert nicht angegeben. Daher wird anstelle des Gehalts der Standardwert NULL verwendet.
EINFÜGEN IGNORIEREN
Die INSERT IGNORE-Anweisung ignoriert Fehler aufgrund doppelter Schlüssel oder anderer Probleme. Sie können diese IGNORE-Klausel verwenden, wenn Sie beim Einfügen keine Unterbrechung wünschen.
INSERT IGNORE INTO staff (employee_id, first_name, last_name, division, wage)
VALUES (1, 'Frank', 'Grey', 'Gross sales', 60000);
Im obigen Bild können wir sehen, dass 0 Zeilen betroffen sind, obwohl wir versucht haben, einen Datensatz mit einem doppelten Schlüssel zu übergeben. Da wir IGNORE verwendet haben, wird die Einfügung einfach ignoriert, auch wenn es Probleme mit der INSERT-Anweisung gibt.
EINFÜGEN BEIM UPDATE EINES DOPPELTEN SCHLÜSSELS
Mit IGNORE überspringen wir grundsätzlich die fehlgeschlagenen Einfügeanweisungen. Mit INSERT ON DUPLICATE KEY UPDATE können wir bei Konflikten den vorhandenen Datensatz aktualisieren.
INSERT INTO staff (employee_id, first_name, last_name, division, wage)
VALUES (1, 'Frank', 'Grey', 'Gross sales', 60000)
ON DUPLICATE KEY UPDATE wage = VALUES(wage);
Im obigen Bild können wir sehen, dass, als die Einfügung aufgrund des doppelten Schlüssels fehlschlug, nur das Gehalt dieses Datensatzes aktualisiert wurde. Wir können sehen, dass das Gehalt von 80000 auf 60000 aktualisiert wurde.
Abschluss
Die SQL INSERT-Anweisung ist ein grundlegendes Instrument zum Hinzufügen neuer Daten zu Ihren Datenbanktabellen. Wenn Sie die verschiedenen Formen beherrschen – von einfachen Einfügungen einzelner Zeilen bis hin zu fortgeschritteneren Techniken wie dem Einfügen mehrerer Zeilen und der Verwendung der INSERT INTO … SELECT-Anweisung – können Sie Ihre Daten effizient verwalten und aktualisieren.
Wenn Sie die Greatest Practices, wie das Angeben von Spalten und der Umgang mit Duplikaten, verstehen und befolgen, können Sie die Datenintegrität wahren und die Leistung verbessern. Ganz gleich, ob Sie Daten migrieren, neue Datensätze integrieren oder Batch-Einfügungen durchführen, die INSERT-Anweisung ist ein wesentlicher Bestandteil einer effektiven Datenbankverwaltung.
Erfahren Sie mehr: SQL: Ein umfassender Leitfaden von den Grundlagen bis zum fortgeschrittenen Niveau
Häufig gestellte Fragen
A. In SQL wird eine INSERT-Anweisung verwendet, um neue Datensätze in eine Tabelle in unserer Datenbank einzufügen. Sie ermöglicht es uns, auszufüllende Spalten und auch die entsprechenden Werte für neue Datensätze beim Einfügen anzugeben. Dies wiederum erleichtert die Dateneingabe und -aktualisierung.
A. Um mehrere Datensätze mit der INSERT-Anweisung einzufügen, sollten wir mehrere Wertesätze innerhalb der INSERT-Anweisung angeben. Dadurch wird die Anzahl der INSERT-Anweisungen reduziert. Dies verbessert die Effizienz, indem Batch-Einfügungen praktischer und schneller werden.
A. Die Anweisung INSERT INTO … SELECT wird verwendet, um Zeilen in eine Tabelle einzufügen, indem Daten aus einer oder mehreren anderen Tabellen ausgewählt werden. Dies ist besonders nützlich, um Daten von einer Tabelle in eine andere zu kopieren, Daten zu migrieren oder Daten während des Einfügevorgangs zu transformieren, ohne die Werte jeder Zeile manuell angeben zu müssen.