SQL-Befehle INSERT
Hier finden Sie ein hilfreiches Tool zur Erstellung eines Insert Befehl mit Hilfe von SQL.
Wozu dient SQL?
SQL steht für Structured Query Language. Der englische Begriff bedeutet strukturierte Abfrage-Sprache. Die Sprache hat zum Ziel, die Abfrage in Datenbanken zu standardisieren. Diese bestehen aus einer oder mehreren Tabellen, die miteinander in Beziehung stehen und Daten organisiert darstellen. In den Spaltenköpfen befinden sich die Feldnamen. Die einzelnen Zeilen enthalten die Werte, auch Datensätze genannt. Je nach Tabelle handelt es sich um Adressen, Personenverzeichnisse eines Kurses oder anderen Zuordnungen.
Jedes Feld ist eindeutig bestimmbar. In einer Tabelle mit Adressen ist das Feld „Müller“ über die fünfte Spalte im Feld „nachname“ definiert. Die Definition von „84398“ erfolgt über dritte Spalte und Feld „postleitzahl“. 1974 erschien eine erste Version der Sprache. Eine Arbeitsgruppe bei IBM entwickelte den ersten Prototyp einer relationalen Datenbank. Tabellen sind nützliche Mittel, um die Strukturierung des Alltages in allen Bereichen des Lebens zu vereinfachen. SQL Befehle Insert helfen, deren Organisation dank Formeln effizient zu bewältigen.
Was ist die Bedeutung von Insert?
SQL-Befehle Insert hat vier Aktionen zum Ziel:
- einen oder mehrere Datensätze in eine Tabelle einspielen,
- beim doppelten Wort Fehler vermeiden (INSERT IGNORE INTO),
- Daten aus einer bestehenden in eine neue Tabelle zu übertragen,
- aus einer CSV-Datei Daten in eine Tabelle übernehmen.
Der Befehl ist in der Kurzform oder in der vollständigen Form vorhanden und nutzbar:
Kurzform
INSERT INTO tabelle (‚wert1‘, ‚wert2‘, ‚wert3‘,
‚wert4‘)
Vollständige Form
INSERT INTO tabelle
(feld1, feld2, feld3, feld4)
VALUES
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘)
Wer die Kurzform benutzt, beachtet, dass die Anzahl der Werte der Anzahl Felder in der Tabelle entspricht. Sie ist dementsprechend fehleranfällig. Mit der Benutzung der vollständigen Form befinden Sie sich auf der sicheren Seite.
Einen Datensatz in eine Tabelle einspeisen
Sehen Sie sich die folgende Tabelle an. id ist ein INTEGER-Feld und enthält eine eindeutige Nummer für jeden Datensatz, die MySQL automatisch vergibt.
id | anrede | vorname | nachname | straße | ort |
1 | Frau | Anna | Stollmann | Feldweg 23 | Hamburg |
2 | Herr | Sigmund | Petersen | Langstrasse 4 | Sonnenberg |
3 | Herr | Andreas | Luckenbach | Kurzweg 17 | Freihausen |
Beachten Sie die Kurzform: INSERT INTO adressen (‚Frau‘, ‚Anna‘, ‚Stollmann‘, ‚Feldweg 23‘, ‚Hamburg‘). Sie funktioniert nicht, da sie den Wert für das Feld „id“ nicht enthält. Falls er vorhanden wäre, existierte dennoch ein Unsicherheitsfaktor. Sie sind nicht sicher, welche Werte für die genannte Spalte bereits vergeben sind. Die vollständige Anweisung der SQL Befehle Insert ist erfolgversprechend: INSERT INTO adressen
(‚anrede‘, ‚vorname‘, ’nachname‘, ’strasse‘, ‚ort‘)
VALUES
(‚Frau‘, ‚Anna‘, ‚Stollmann‘, ‚Feldweg 23‘, ‚Hamburg‘)
Bei einer großen Tabelle benutzen Sie vorzugsweise einen Befehl, indem Sie alle Wertelisten durch Komma getrennt hintereinanderschreiben. Dies spart Arbeit und Zeit. Die Kurzform dazu lautet:
INSERT INTO tabelle
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘),
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘),
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘)
Das Pendant der vollständigen Form ist Folgendes:
INSERT INTO tabelle
(feld1, feld2, feld3, feld4)
VALUES
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘),
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘),
(‚wert1‘, ‚wert2‘, ‚wert3‘, ‚wert4‘)
Die Abarbeitung von multiplen Inserts geschieht schneller als bei einzelnen Datensätzen. Die Voraussetzung dazu ist, dass die Anzahl der einzufügenden Datensätze gleichbleibt.
Wozu dient INSERT IGNORE INTO?
Der Befehl hilft Fehler zu vermeiden, die bei einer Tabelle mit eindeutigen Schlüsseln auftauchen. Falls Sie versuchen, einen bereits enthaltenen Wert erneut in eine Spalte einzufügen vermeidet INSERT IGNORE INTO die Verdoppelung des Wertes einer Spalte. Dazu benutzen Sie folgenden Befehl:
INSERT IGNORE INTO tabelle (…) VALUES (…)
Wie fügen Sie Daten aus einer bestehenden Tabelle ein?
Das Statement
INSERT INTO tabelleEins
SELECT * FROM tabelleZwei
weist MySQL an, Daten aus einer Tabelle in eine andere einzufügen. Es ist möglich, Daten aus einer CSV-Datei mit folgendem Befehl in eine Tabelle einzufügen:
LOAD DATA INFILE ‚C:/temp/data.csv‘
INTO TABLE tabelle
FIELDS TERMINATED BY ‚;‘
ENCLOSED BY ‚“‚
LINES TERMINATED BY ‚ ‚
Damit es klappt, entspricht die Datenstruktur in der Datei der Tabelle: Anzahl Werte pro Zeile = Anzahl Felder in der Tabelle. Als Zeilenbegrenzer und Feldtrenner verwenden Sie Zeichen, die in der Datei nicht vorkommen.
Wie funktioniert der Rechner für SQL Befehle Insert?
Er ist ein hilfreiches Tool zur Erstellung eines Insert- Befehls mithilfe von SQL. Er arbeitet mit der vollständigen Form der Befehle und ist darauf ausgelegt, einzelne Datensätze in eine Tabelle einzufügen. Für multiple Inserts findet der Rechner keine Verwendung. Als Erklärung sehen Sie den benutzten Aufbau der Tabelle vorgängig notiert:
INSERT INTO
Tabelle
(Spalte1 [,Spalte2][,…])
VALUES (Wert1 [,Wert2][,…])
Sie fügen damit einen Datensatz in eine Tabelle mit einer beliebigen Anzahl Spalten ein. Für die Generierung eines Befehls füllen Sie drei Kästchen aus.
Name der Tabelle: ________________
Feldnamen der Tabelle (mit Komma getrennt): ____
Werte der Felder (mit Komma getrennt: ________
Sie passen dabei die obenstehende allgemeine Form Ihrer Tabelle an und versehen die Kästchen mit den Begriffen und Werten. Der Klick auf das Wort „Generieren“ ergibt im Ergebnisrechteck die gesuchte Formel für SQL Befehle Insert.
Ein Beispiel
Sie haben die Adresse von Herrn Meier, in die Tabelle einzutragen. Ihr Name ist Adressen. Nach den Feldnamen schreiben Sie der Reihe nach die Namen der verschiedenen Zeilen auf. In diesem Fall lauten Sie: (Name, Straße, Hausnummer, PLZ, Ort). Neben Werte der Felder tippen Sie: („Meier“, „Johannisstrasse“, „58“, „56393“, „Hanau“)
Vergessen Sie nicht, die Begriffe bei Feldname und Werte durch ein Komma zu trennen: Bei Strassen benutzen Sie anstatt dem scharfen ß zwei normale „s“. Ersteres erhält die Behandlung eines Sonderzeichens und verfälscht sich je nach Konfiguration des Computers.
Nach der Eingabe klicken Sie „Generieren“. Folgendes erscheint im Ergebnisfeld:
Alle Werte bestimmter Felde ohne mehrfache Zeilen aus einer Tabelle auslesen
INSERT INTO Adressen (Name, Strasse, Hausnummer, PLZ, Ort) VALUES (‚“Meier“‚,‘ „Johannisstrasse“‚,‘ „58“‚,‘ „56393“‚,‘ „Hanau“‚)
Wozu dient das Tool?
Das nützliche Tool hilft bei der Tabellenverwaltung zu Hause oder auf der Arbeit. Es ist dazu ausgelegt, einfache Tabellen zu organisieren und mit wenigen Klicks neue Informationen einzufügen. Wer mit vielen Datensätzen arbeitet, ist mit deren Organisation in Tabellen gut beraten
Häufig gestellte Fragen
Was ist der INSERT-Befehl bei einer Datenbank?
Gibt es unterschiedliche INSERT-Befehle?
Häufig gestellte Fragen
Was ist der INSERT-Befehl bei einer Datenbank?
Der Befehl INSERT dient dazu Informationen in die Tabellen einer Datenbank einzugeben.
Nehmen wir an, Sie hätten eine Kundendatenbank erstellt, in der es eine Tabelle "Adressen" gibt. Diese Tabelle enthält die Felder Name, Straße, Hausnummer, PLZ und Ort.
Nun möchten Sie die Daten eines neuen Kunden mit folgenden Kontaktinformationen eingeben: Meier, Musterweg 77, 52103 Testling.
Hierzu nutzen Sie den Befehl INSERT,
dem noch einige Zusatzinformationen mitgegeben werden müssen:
- der Name der Tabelle, in die die Informationen eingefügt werden sollen
- der Name der Felder, in die Informationen geschrieben werden sollen
- die zu speichernden Informationen selber, durch ein vorangestelltes VALUES gekennzeichnet
In unserem Beispiel sähe das dann so aus:
INSERT INTO Adressen (Name, Straße, Hausnummer, PLZ, Ort) VALUES ("Meier", "Musterweg", "77", "52103", "Testling")
Gibt es unterschiedliche INSERT-Befehle?
Ja, im Prinzip gibt es zwei Arten von INSERT-Befehlen. Den oben vorgestellten, der zum Einfügen einzelner, neuer Informationen dient, und einen zweiten, der dazu benutzt wird ausgewählte Informationen aus einer anderen Tabelle in die aktuelle Tabelle einzufügen.
Bleiben wir bei unserem Beispiel und nehmen an, dass die Tabelle Adressen nach
Ausführung des oben beschriebenen Befehls so aussieht:
Schulze Am Weg 3 12345 Neudorf
Huber Neustraße 55 23567 Altheim
Schmitz Weiherweg 8 23456 Neudorf
Bäcker Roter Weg 45 23567 Altheim
Meier Musterweg 77 52103 Testling
Nun möchten Sie zur Planung der Waren-Lieferung eine Tabelle Altheim erstellen, in der alle Kunden gespeichert werden, die in Altheim wohnen. Da fest steht, dass die Ware nach Altheim geliefert werden muss, hat die Tabelle Altheim nur die Felder "Name, "Straße" und "Hausnummer".
Zum Befüllen dieser Tabelle mit Informationen benutzen wir den INSERT-Befehl in Kombination mit dem Befehl SELECT, den wir an Stelle des Wortes VALUES einfügen.
Der Befehl SELECT zieht ausgewählte Informationen aus einer bestimmten Tabelle und stellt diese dem INSERT-Befehl zur Verfügung.
In unserem Beispiel würde das dann so aussehen:
INSERT INTO Altheim (Name, Straße,Hausnummer) SELECT FROM Adressen (Name, Straße, Hausnummer) WHERE Ort = "Altheim"
Das Ergebnis wäre dann die folgende Tabelle Altheim
Huber Neustraße 55
Bäcker Roter Weg 45
Um Probleme mit der unterschiedlichen Darstellung und Behandlung von Zahlen durch die verschiedenen Datenbanksysteme zu vermeiden, sind in den Beispielen die Zahlen als
Text behandelt worden.