MySQL: Mit INSERT Daten einfügen
DieINSERT
-Anweisung fügt neue Datensätze in eine Tabelle ein. Eingefügt wird immer nur komplette Datensätze (alle Felder): Felder, für die kein Wert angeben wird, werden leer (sog. Null
-Wert) angehängt. Es gibt in MySQL 2 Varianten der Syntax: die Aufzählungs- und die SET
-Variante. Die Aufzählungsvariante ist kompatibel zu anderen Datenbank-Systemen, deshalb wird sie hier zuerst beschrieben.
INSERT mit Aufzählung
Syntax
INSERT INTO Tabelle (Feldname1, Feldname2, ..., FeldnameN)
VALUES (Wert1, Wert2,...WertN);
Tabelle
HinterINSERT
folgt immer INTO
, dahinter die Tabelle. Eine INSERT
-Anweisung kann immer nur in eine Tabelle einfügen. Wenn man Datensätze in mehrere Tabellen einfügen will, muss man also mehrere INSERT
-Anweisungen schreiben.
FIELDS und VALUES
DenFIELDS
-Teil kann man unter Umständen auch weglassen, dann muss ich allerdings hinter VALUES
alle Felder angeben, und zwar genau in der Reihenfolge, wie sie in der Tabelle stehen. Beispiel:
INSERT INTO Preis VALUES (3, 'grün', 0.5, Null);
Null bedeutet, dass das Feld nicht gefüllt werden soll. Voraussetzung ist allerdings, dass das Feld Verkaufspreis nicht alsNOT NULL
definiert ist.Bei Tabellen mit vielen Feldern, von denen nur einige wenige mit Werten gefüllt werden sollen, ist es sinnvoller, nur die Feldinhalte aufzuzählen, die nicht
Null
sein sollen. Dann muss aber den FIELDS
-Teil einfügen, um dort die Feldnamen in der Reihenfolge anzugeben, wie man nachher die Feldinhalte angibt:
INSERT INTO Preis (ArtikelNr, Farbe, Einkaufspreis)
VALUES (3 , 'grün', 0.5);
INSERT
, die allerdings nicht kompatibel zum offiziellen SQL-Standard ist, ermöglicht es in MySQL , mit einem INSERT
-Befehl mehrere Datensätze einzufügen:
INSERT INTO Artikel VALUES
('Faserstift', 'Stifty', 'Schreibersglück', 1),
('Faserstift', 'Stifty', 'Faserino', 2),
('Faserstift', 'Fasanetic', 'Fasano', 3);
Sonderform: INSERT mit SELECT
Diese Sonderform erlaubt es, beliebig viele Datensätze aus einer Tabelle in eine andere einzufügen. Welche eingefügt werden, hängt vomSELECT
-Teil ab. Auch kompliziertere SELECT
-Konstruktionen sind möglich. Beispiel:
INSERT INTO Tabelle1 SELECT * FROM Tabelle2;
INSERT mit SET
Diese Form lehnt sich an die Syntax vonUPDATE
an und ist übersichtlicher als der INSERT
mit Aufzählung. Sie ist aber nur in MySQL benutzbar. Beispiel:
INSERT INTO Tabelle SET Feldname1=Wert1, Feldname2=Wert2, ...;
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Daten verwalten
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project