Einfügeanweisungen in MySQL kombinieren

Die MySQL-Datenbankserver-Software, die viele Websites und Geschäftsanwendungen unterstützt, verwendet einen Dialekt der branchenüblichen Structured Query Language für die Datenbankwartung und die Transaktionsverarbeitung. Obwohl die typische SQL Insert-Anweisung jeweils einen Datensatz verarbeitet, können Sie mit der Insert-Funktion von MySQL mehrere Datensätze zu einer einzigen Anweisung kombinieren. Ein kombiniertes Insert kann unter bestimmten Umständen effizienter ausgeführt werden als mehrere Single-Record-Inserts.

Standard einfügen

Softwareentwickler verwenden die SQL-Anweisung Insert, um Datensätze zu einer Datenbank hinzuzufügen. Um beispielsweise einen neuen Datensatz zu einer Tabelle mit dem Namen "customers" hinzuzufügen, können Sie eine Insert-Anweisung wie die folgende eingeben:

INSERT INTO Kunden (Kundennummer, Kundenname, Kundenadresse, Kundenabrechnungsinfo VALUES ('000012', 'John Jones', '5210 Main St', 'Visa'),

Beachten Sie, dass diese Form der Insert-Anweisung jeweils einen Datensatz zu einer Tabelle hinzufügt. Wenn Sie mehrere neue Datensätze hinzufügen möchten, müssen Sie in SQL für die meisten Datenbanken dem Server mehrere Insert-Anweisungen nacheinander senden, wie in diesen Inserts dargestellt:

INSERT INTO Kunden (Kundennummer, Kundenname, Kundenadresse, Kundenabrechnungsinfo VALUES ('002091', 'Tim Smith', '1502 Evergreen Terrace', 'PayPal'), INSERT INTO Kunden (Kundennummer, Kundenname, Kundenadresse, Kundenabrechnungsinfo VALUES ('707000', "Susan Brown", "121 Park Ave", "Discover"),

Kombinierter Einsatz

Obwohl Sie das Einfügen von MySQL auf die Standardweise verwenden können, indem Sie Datensätze nacheinander hinzufügen, erlaubt die VALUES-Klausel mehrere Datensätze, wobei Klammern jeden Satz und ein Komma zwischen den Sätzen wie folgt einschließen:

INSERT INTO Kunden (Kundennummer, Kundenname, Kundenadresse, Kundenabrechnungsinfo) VALUES ('002091', 'Tim Smith', '1502 Evergreen Terrace', 'PayPal'), ('707000', 'Susan Brown', '121 Park Ave', ' Entdecken'),

Beachten Sie, dass der schließenden Klammer des letzten Satzes kein Komma folgt und dass die Insert-Anweisung zwar mehrere Wertesätze enthält, jedoch nur einen Satz von Feldern, da sich diese nicht ändern.

Vorteile des kombinierten Einsatzes

Ein Datenbankserver verarbeitet jede Anweisung als separate Einheit. Daher wertet er jede Anweisung auf korrekte Struktur und Sicherheit aus und führt sie dann aus. Indem Sie die Anzahl der Insert-Anweisungen verringern, die Sie an MySQL senden, verringern Sie die zusätzliche Zeit, die der Server für die Verwaltung benötigt. Das Verarbeiten eines einzelnen Inserts mit mehreren Datensätzen ist schneller als das Verarbeiten mehrerer Inserts mit jeweils einem Datensatz. Analog dazu ist es weniger effizient, wenn Sie eine Einkaufsliste erstellen und dann für jeden Artikel eine eigene Reise erstellen, als wenn Sie alles auf derselben Reise anzeigen.

Kombinierte Einfügung verwenden

Um kombinierte Insert-Anweisungen nutzen zu können, müssen Sie die Daten für jeden Datensatz im Voraus kennen. Dies ist bei der Geschäftsvorgangsbearbeitung nicht immer möglich. Beispielsweise gibt ein Angestellter, der an einem PC sitzt und einer Datenbank neue Kunden hinzufügt, jeweils nur einen Kunden ein. In anderen Fällen, z. B. beim Online-Einkauf, können Sie jedoch mehrere Elemente in ein Formular eingeben. Hier kann MySQL alle Elemente in einer einzigen Insert-Anweisung hinzufügen. Ein Softwareentwickler muss sich mit Geschick und Urteilsvermögen für die Verwendung kombinierter Inserts entscheiden.