mysql insert into table insert statement syntax examples
In diesem Lernprogramm wird die Anweisung MYSQL INSERT INTO Table zusammen mit der Abfragesyntax und den Beispielen erläutert. Lernen Sie auch verschiedene Variationen des MYSQL-Einfügebefehls:
In MySQL wird der Befehl INSERT verwendet, um der Tabelle Daten hinzuzufügen. Mit diesem Befehl können wir Daten in eine oder mehrere Zeilen in einer einzelnen Transaktion einfügen. Außerdem können Daten in einer einzelnen Transaktion zu einer oder mehreren Tabellen hinzugefügt werden.
Wir werden all dies in den kommenden Abschnitten durchgehen. Bevor Sie fortfahren, beachten Sie bitte, dass wir MySQL Version 8.0 verwenden. Sie können es von herunterladen Hier .
Was du lernen wirst:
- MySQL INSERT-Befehlssyntax
- Variationen der MySQL INSERT-Anweisung
- Häufig gestellte Fragen und Antworten
- Fazit
MySQL INSERT-Befehlssyntax
INSERT (LOW_PRIORITY|DELAYED|HIGH_PRIORITY)(IGNORE) INTO tablename (column1, column2, column3...) VALUES (value1, value2, value3, ....);
Syntax Erläuterung:
- Die Syntax beginnt mit dem Schlüsselwort „INSERT INTO“ und informiert den MySQL Server über die Art der auszuführenden Aktivität. Dies ist ein obligatorisches Schlüsselwort und kann nicht weggelassen werden.
- Als nächstes folgt der Name der Tabelle, für die die Einfügeaktion ausgeführt werden muss. Dies ist obligatorisch und kann auch nicht weggelassen werden.
- Als nächstes werden die Spaltennamen zusammen mit den entsprechenden Werten eingefügt. Auch dies ist obligatorisch und kann nicht weggelassen werden.
- Als nächstes folgt die Werteklausel. In dieser Klausel muss der Wert für jede Spalte angegeben werden, die wir in die Tabelle einfügen. Die Reihenfolge der Werte und die Reihenfolge der Spaltennamen sollten synchron sein.
- Die Anzahl und der Datentyp der Spalten sollten mit denen der Werte übereinstimmen.
Modifikatoren in der INSERT-Anweisung
- NIEDRIGE PRIORITÄT: Dieser Modifikator weist die MySQL Engine an, die Ausführung der INSERT-Anweisung so lange zu verzögern, bis keine Verbindungen mehr zum Lesen aus der Tabelle bestehen, die wir einfügen möchten. Dies hilft dabei, Konsistenz über alle anderen Vorgänge zu erreichen, die für diese Tabelle ausgeführt werden.
- HOHE PRIORITÄT: Dieser Modifikator weist die MySQL Engine an, der INSERT-Anweisung eine hohe Priorität vor allen anderen Anweisungen zu geben. Transaktion das wird auf dem Tisch ausgeführt.
- IGNORIEREN: Dieser Modifikator weist MySQL Engine an, alle Fehler zu ignorieren, die aufgrund der Ausführung der INSERT-Anweisung auftreten können. Alle auftretenden Fehler würden als bloße Warnungen behandelt, und das Einfügen von Datensätzen in die Tabelle würde ungehindert erfolgen.
- VERSPÄTET: Dies ist die MySQL-Erweiterung für Standard-SQL. Wenn INSERT DELAYED vom Benutzer ausgegeben wird, stellt der Server alle Zeilen in die Warteschlange und die Daten werden zu einem späteren Zeitpunkt in die Tabelle eingefügt, wenn die Tabelle nicht von anderen Transaktionen verwendet wird.
MySQL INSERT Beispiel
Das Folgende ist eine Beispieltabelle, die in MySQL erstellt wurde.
Schemaname: Pazifik
Tabellenname: Angestellte
Spaltennamen:
- empNum - Enthält ganzzahlige Werte für die Mitarbeiternummer.
- lastName - Enthält varchar-Werte für den Nachnamen des Mitarbeiters.
- Vorname - Enthält Varchar-Werte für den Vornamen des Mitarbeiters.
- email - Enthält varchar-Werte für die E-Mail-ID des Mitarbeiters.
- deptNum - Enthält varchar für die Abteilungs-ID, zu der ein Mitarbeiter gehört.
- Gehalt - Enthält Dezimalwerte des Gehalts für jeden Mitarbeiter.
- start_date - Enthält Datumswerte für das Beitrittsdatum des Mitarbeiters.
Schemaname: Pazifik
Tabellenname: Mitarbeitergeschichte
Spaltennamen:
- empNum - Enthält ganzzahlige Werte für die Mitarbeiternummer.
- lastName - Enthält varchar-Werte für den Nachnamen des Mitarbeiters.
- Vorname - Enthält Varchar-Werte für den Vornamen des Mitarbeiters.
- email - Enthält varchar-Werte für die E-Mail-ID des Mitarbeiters.
- deptNum - Enthält varchar für die Abteilungs-ID, zu der ein Mitarbeiter gehört.
- Gehalt - Enthält Dezimalwerte des Gehalts für jeden Mitarbeiter.
- start_date - Enthält Datumswerte für das Beitrittsdatum des Mitarbeiters.
Variationen der MySQL INSERT-Anweisung
# 1) MySQL Fügen Sie eine einzelne Zeile ein
Zunächst sehen wir uns ein Szenario an, in dem wir sowohl die Spaltennamen als auch die Werte angegeben haben, die mit dem Schlüsselwort INSERT INTO eingefügt werden sollen.
Zum Beispiel, Hier werden wir versuchen, einen neuen Mitarbeiter einzufügen. Wir werden die Mitarbeiternummer, den Vor- und Nachnamen hinzufügen und die E-Mail-ID, das Gehalt und die Abteilungs-ID, zu der der neue Mitarbeiter gehören soll, aktualisieren.
Die Abfrage und die entsprechenden Ergebnisse lauten wie folgt:
Wie in der Abbildung oben dargestellt, wurde die INSERT-Anweisung erfolgreich ausgeführt und eine Zeile in die Tabelle des Mitarbeiters eingefügt.
Die folgende Ausgabeanweisung zeigt den Zeitpunkt der Ausführung der Anweisung, die ausgeführte MySQL-Anweisung und die Anzahl der betroffenen Zeilen.
Bitte beachten Sie hier, dass der Wert für jede Spalte in derselben Reihenfolge wie der der Spaltennamen angegeben wird. Beachten Sie außerdem, dass die Spalte mit dem Datentyp Ganzzahl / Dezimal nicht in Anführungszeichen eingeschlossen ist. Die Spaltentypen mit dem Datentyp varchar / char wurden jedoch mit Anführungszeichen eingeschlossen.
Um die Ausgabe dieser INSERT-Anweisung zu überprüfen, führen wir die SELECT-Anweisung für diese Tabelle mit dem empNum als 1012 aus.
Abfrage:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES ( 1012, 'Luther', 'Martin', 'ml@gmail.com', 3, 13000 ) ;
Tabellenschnappschuss nach:
empNum | Nachname | Vorname | deptNum | Gehalt | ||
---|---|---|---|---|---|---|
1007 | Schmitt | James | js@gmail.com | 4 | 21780 | 0001-01-01 |
1012 | Luther | Martin | ml@gmail.com | 3 | 13000 |
# 2) MySQL Einfügen von Daten nur in die angegebene Spalte
Als nächstes können Sie Daten in eine Tabelle einfügen, indem Sie Datensätze nur in die erforderlichen Spalten und nicht in alle Spalten einfügen. Beachten Sie jedoch, dass wir die Schlüsselspalten in diesem Szenario nicht auslassen können. Bei der Tabelle unseres Mitarbeiters ist die Schlüsselspalte die Spalte empNum. Probieren wir es aus.
Zum Beispiel, Wir werden einen neuen Datensatz in die Mitarbeitertabelle einfügen, der nur die Daten empNum, lastName, firstName enthält. Wir werden diesem Mitarbeiter keine E-Mail-ID, Abteilung oder Gehalt zuweisen.
Es folgt die Abfrage und ihr Ergebnis:
Wie in der Abbildung oben dargestellt, wurde die Einfügeanweisung erfolgreich ausgeführt und eine Zeile in die Tabelle des Mitarbeiters eingefügt.
wie man Testfälle in Excel schreibt
Bitte beachten Sie, Um nur die ausgewählten Spalten einzufügen, sollten die übersprungenen Spalten entweder als NULL deklariert werden oder einen Standardwert haben, der für den Fall, dass diese Spalte übersprungen wird, ausgefüllt wird. Wenn diese Bedingung nicht erfüllt ist, schlägt die Anweisung insert fehl.
Überprüfen Sie die Ausführung der obigen INSERT-Anweisung, indem Sie eine SELECT-Anweisung für empNum = 1013 ausführen.
Abfrage:
INSERT INTO employees ( empNum, lastName, firstName ) VALUES ( 1013, 'Nolan', 'Chris' ) ;
Tabellenschnappschuss nach:
empNum | Nachname | Vorname | deptNum | Gehalt | |
---|---|---|---|---|---|
1013 | Nolan | Chris | NULL | NULL | NULL |
# 3) MySQL Mehrere Zeilen einfügen
Als nächstes werden wir das Szenario durchgehen, in dem wir mehrere Zeilen mit derselben INSERT-Anweisung in die Tabelle einfügen müssen.
Zum Beispiel, In diesem Fall müssen wir die Spaltennamen nur einmal erwähnen, aber wir können die Werte für diese Spalten so oft wie erforderlich wiederholen.
Es folgt die Abfrage zusammen mit den damit verbundenen Ergebnissen:
Wie im obigen Bild dargestellt, war die Ausführung der Anweisung erfolgreich.
Beachten Sie den Nachrichtenteil, der besagt, dass 3 Zeilen betroffen waren. Dies bedeutet, dass diese einzelne INSERT-Anweisung bei der Ausführung dieser INSERT-Anweisung 3 Datensätze eingefügt hat.
Weiterführende Literatur = >> MySQL If Statement Tutorial
Überprüfen Sie die Ausgabe unserer INSERT-Anweisung, indem Sie die SELECT-Anweisung für die neuen Mitarbeiter-IDs 1014, 1015 und 1016 ausführen.
Die Einzelheiten sind wie folgt:
Abfrage:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES (1014, 'Murray', 'Keith', 'km@gmail.com', 1, 25000), (1015, 'Branson', 'John', 'jb@gmail.com', 2, 15000), (1016, 'Martin', 'Richard', 'rm@gmail.com', 4, 5000) ;
Tabellenschnappschuss nach:
empNum | Nachname | Vorname | deptNum | Gehalt | |
---|---|---|---|---|---|
1014 | Murray | Keith | km@gmail.com | 1 | 25000 |
1015 | Branson | John | jb@gmail.com | zwei | 15000 |
1016 | Martin | Richard | rm@gmail.com | 4 | 5000 |
# 4) MySQL-Einfügedatum
Als nächstes werden wir das Szenario durchgehen, in dem wir Werte in die Datumsspalte einfügen müssen.
Zum Beispiel, Das Einfügen von Werten in die Datumsspalte kann schwierig sein. Das Datum in MySQL kann dem Format 'JJJJ-MM-TT' hinzugefügt werden. Um dies zu erreichen, fügen wir eine Spalte start_date mit dem Standardwert '0001-01-01' hinzu.
Dies bedeutet, dass alle vorhandenen Datensätze in der Tabelle des Mitarbeiters mit dem Startdatum als '0001-01-01' aktualisiert werden. Die alter-Anweisung lautet wie folgt.
Abfrage:
ALTER TABLE employees ADD start_date DATE default '0001-01-01' ;
Überprüfen Sie die Ausgabe der obigen Abfrage, indem Sie eine einfache SELECT-Anweisung für die Tabelle ausführen:
Daher haben wir eine neue Datumsspalte mit dem Datentyp 'DATE' und dem Standardwert '0001-01-01' hinzugefügt. Fügen Sie nun zwei neue Mitarbeiterdatensätze ein, einen mit dem aktuellen Datum und einen mit einem bestimmten Datum.
beste Webhosting-Dienste in Indien
Es folgen die Abfragen zusammen mit den Details:
Wie im obigen Bild gezeigt, haben wir die Funktion zum Einfügen mehrerer Zeilen in die Tabelle verwendet, wie im vorherigen Abschnitt erläutert.
Der erste Datensatz wurde mit der Funktion CURRENT_DATE () eingefügt. Diese Funktion gibt das aktuelle Systemdatum zurück. Der zweite Datensatz wurde mit einem bestimmten Datum im Format „JJJJ-MM-TT“ eingefügt.
Als nächstes werden wir die Ausgabe unserer INSERT-Anweisung mit einer SELECT-Anweisung für empNum 1017 und 1018 überprüfen.
Der erste Datensatz mit empNum = 1017 hat das gleiche Startdatum wie das aktuelle Datum 25thNovember 2019 (in diesem Fall das Datum, an dem dieses Tutorial geschrieben wurde) im Format „JJJJ-MM-TT“.
Abfrage:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary, start_date ) VALUES (1017, 'Johnson', 'Eve', 'ej@gmail.com', 3, 5500, CURRENT_DATE()), (1018, 'Bond', 'Nolan', 'nb@gmail.com', 2, 15000, '2019-09-13') ;
Tabellenschnappschuss nach:
empNum | Nachname | Vorname | deptNum | Gehalt | Anfangsdatum | |
---|---|---|---|---|---|---|
1017 | Johnson | Vorabend | ej@gmail.com | 3 | 5500 | 2019-11-25 00:00:00 |
1018 | Bindung | Nolan | nb@gmail.com | zwei | 15000 | 2019-09-13 00:00:00 |
# 5) MySQL in eine Tabelle aus einer anderen Tabelle einfügen
Als nächstes werden wir das Szenario durchgehen, in dem wir Daten aus einer vorhandenen Tabelle in eine neue Tabelle einfügen müssen.
Zum Beispiel, Stellen Sie sich ein Szenario vor, in dem wir regelmäßig Daten aus unserer vorhandenen Tabelle in eine historische Tabelle oder eine Archivtabelle verschieben müssen. Um dies zu erreichen, erstellen wir eine neue Tabelle employee_history.
Unsere Aufgabe ist es, Daten aus der Mitarbeitertabelle in die Tabelle employee_history zu verschieben.
Die CREATE-Anweisung lautet wie folgt:
Abfrage:
CREATE TABLE employees_history LIKE employees ;
Überprüfen Sie die Ausgabe der obigen Abfrage, indem Sie eine einfache DESC-Anweisung für die neue Tabelle ausführen, die uns die Tabellenstruktur der neuen Tabelle gibt:
Also haben wir eine neue Tabelle erstellt. Laden wir nun Daten aus der Tabelle des Mitarbeiters in diese neue Tabelle.
=> Erfahren Sie mehr über MySQL TABELLENBEFEHL ERSTELLEN .
Das Folgende sind die Abfrage und ihre Details:
Wie im obigen Bild gezeigt, war das Einfügen von Daten in die neue Tabelle aus der vorhandenen Tabelle erfolgreich.
Bitte beachten Sie die Nachrichtenspalte auf der Registerkarte Ausgabe. Es heißt, 18 Zeilen betroffen. Dies bedeutet, dass alle 18 Zeilen in der vorhandenen Tabelle in die neu erstellte Tabelle employee_history kopiert wurden.
Als Nächstes überprüfen wir die Ausgabe unserer INSERT-Anweisung mit einer SELECT-Anweisung in der Tabelle employee_history.
Das obige Bild zeigt alle Zeilen, die aus der Tabelle des Mitarbeiters in der Tabelle employee_history kopiert wurden.
Das obige Bild zeigt alle Zeilen, die aus der Employees-Tabelle in der Employees_History-Tabelle kopiert wurden.
Abfrage:
INSERT INTO employees_history ( empNum, lastName, firstName, email, deptNum, salary, start_date ) SELECT empNum, lastName, firstName, email, deptNum, salary, start_date FROM employees ;
Tabellenschnappschuss nach:
empNum | Nachname | Vorname | deptNum | Gehalt | Anfangsdatum | |
---|---|---|---|---|---|---|
1001 | Andrews | Jack | ja@gmail.com | 1 | 3182.7 | 0001-01-01 |
1002 | Schwatz | Mike | ms@gmail.com | 1 | 5304.5 | 0001-01-01 |
1003 | Langley | Margaret | margaret.langley@gmail.com | zwei | 8820 | 0001-01-01 |
1004 | Harera | Sandra | sh@gmail.com | 1 | 10609 | 0001-01-01 |
1005 | lesen | Peter | pl@gmail.com | zwei | 14333 | 0001-01-01 |
1006 | Keith | Jenny | jk@gmail.com | zwei | 16538 | 0001-01-01 |
1008 | Bailey | Oliver | oliver.bailey@gmail.com | 3 | 24494 | 0001-01-01 |
1009 | Tasse | Harry | hb@gmail.com | 5 | 30646 | 0001-01-01 |
1010 | Armstrong | Jakob | jacob.armstrong@gmail.com | 4 | 32670 | 0001-01-01 |
1011 | Hanks | Tom | th@gmail.com | NULL | 10100 | 0001-01-01 |
1012 | Luther | Martin | ml@gmail.com | 3 | 13000 | 0001-01-01 |
1013 | Nolan | Chris | NULL | NULL | NULL | 0001-01-01 |
1014 | Murray | Keith | km@gmail.com | 1 | 25000 | 0001-01-01 |
1015 | Branson | John | jb@gmail.com | zwei | 15000 | 0001-01-01 |
1016 | Martin | Richard | rm@gmail.com | 4 | 5000 | 0001-01-01 |
1017 | Johnson | Vorabend | ej@gmail.com | 3 | 5500 | 2019-11-25 00:00:00 |
1018 | Bindung | Nolan | nb@gmail.com | zwei | 15000 | 2019-09-13 00:00:00 |
Häufig gestellte Fragen und Antworten
F # 1) Wie fügen Sie in MySQL Daten in die Tabelle ein?
Antworten: Um Daten in eine MySQL-Tabelle einzufügen, stellt MySQL das wichtige Schlüsselwort 'INSERT INTO' zur Verfügung. Darauf folgen der Tabellenname, die Liste der Spalten und die Liste der entsprechenden Werte, die eingefügt werden müssen. Mit diesem Schlüsselwort können wir eine oder mehrere Spalten in dieselbe Transaktion einfügen.
F # 2) Erläutern Sie die Klausel „INSERT IGNORE INTO“.
Antworten: Wenn wir versuchen, mehr als eine Zeile in eine einzelne INSERT-Anweisung einzufügen, kann es sein, dass die Ausführung aufgrund fehlerhafter Daten für eine bestimmte Zeile fehlschlägt. Dadurch wird die Transaktion gestoppt und auf das vorherige Commit zurückgesetzt.
Um solche Szenarien zu vermeiden, 'IGNORE EINFÜGEN IN' wird eingesetzt. Diese Klausel ignoriert den Fehler, der ungültige Datensätze verursacht, und fügt nur gültige Datensätze ein, damit die Transaktion nicht gestoppt wird. Dies ist hilfreich, wenn Sie Masseneinfügungen vornehmen müssen und es sich nicht leisten können, diese für fehlerhafte Daten für eine Zeile zu wiederholen.
F # 3) Wie aktualisiere ich Attribute in MySQL?
Antworten: Wir können Attribute mit der MySQL Update-Anweisung aktualisieren, wobei die Anweisung mit dem Schlüsselwort UPDATE gefolgt vom Tabellennamen beginnt. Als nächstes folgt die SET-Klausel, gefolgt von einem Spaltennamen und einer WHERE-Klausel.
F # 4) Kann ich mehrere Datensätze in eine einzelne MySQL Insert-Transaktion einfügen?
Antworten: Wie oben dargestellt, unter dem 'Einfügen von Daten in mehrere Zeilen' Abschnitt können wir mehrere Zeilen in einer einzigen Einfügetransaktion einfügen. Wir können die INSERT INTO-Klausel verwenden, gefolgt vom Tabellennamen und der Liste der Spalten. Anstelle einer Werteliste müssen jedoch für jede Spalte mehrere Wertelisten angegeben werden.
F # 5) Woher lädst du MySQL herunter?
Antworten: Sie können MySQL Version 8.0 hier herunterladen: MySQL .
Lesen Sie auch => So laden Sie MySQL herunter
F # 6) Kann die SELECT-Klausel in der MySQL INSERT-Anweisung verwendet werden?
Antworten: Ja, SELECT kann zusammen mit der MySQL INSERT-Anweisung verwendet werden. Dies wurde im Abschnitt „MySQL Einfügen einer Tabelle aus einer anderen Tabelle“ erläutert. Dies wird verwendet, wenn Zeilen in eine Tabelle eingefügt werden müssen, wobei die Daten verwendet werden, die bereits in einer anderen Tabelle vorhanden sind.
Zum Beispiel, Verschieben von Daten aus der aktuellen Tabelle in die historische Tabelle im Data Warehouse.
F # 7) Wie speichert MySQL das Datum in Tabellen?
Antworten: MySQL verwendet das Format „JJJJ-MM-TT“ zum Speichern des Datums in Tabellen. Der Datentyp hier ist DATE. Der von MySQL unterstützte Datumsbereich reicht von '1000-01-01' bis '9999-12-31'.
MySQL hat auch einen DATETIME-Datentyp zum Speichern von Datum und Uhrzeit. Das Format ist 'JJJJ-MM-TT hh: mm: ss'. Der akzeptable Bereich reicht von '1000-01-01 00:00:00' bis '9999-12-31 23:59:59'.
Öffnen Sie .jar-Dateien Windows 10
Empfohlene Lektüre = >> Tutorial zu MySQL-Datentypen
Fazit
In diesem Tutorial haben wir daher die fünf verschiedenen Möglichkeiten zum Ausführen von INSERT-Anweisungen in MySQL kennengelernt.
- MySQL Einfügen einer einzelnen Zeile
- MySQL Einfügen von Daten nur in die angegebene Spalte
- MySQL Einfügen von Daten in mehrere Zeilen
- MySQL-Einfügedatum
- MySQL Einfügen einer Tabelle aus einer anderen Tabelle
Wir können beide verwenden, basierend auf unseren Projektanforderungen.
Fröhliches Lesen!!
Literatur-Empfehlungen
- Unterschied zwischen SQL und MySQL und SQL Server (mit Beispielen)
- Top 40 der besten Fragen und Antworten zu MySQL-Interviews (2021 Fragen)
- Tutorial zur MySQL-Update-Anweisung - Syntax und Beispiele für Update-Abfragen
- Unix Cat-Befehlssyntax, Optionen mit Beispielen
- Unix-Sortierbefehl mit Syntax, Optionen und Beispielen
- Fügen Sie mithilfe von Arrays mehrere Dokumente in MongoDB ein
- C # Using Statement und C # Virtual Method Tutorial mit Beispielen
- C # -Programmstruktur und grundlegende Syntax mit Beispielen