Mit MariaDB INSERT INTO schreiben Sie neue Datensätze in eine bestehende Tabelle. Er zählt zu den wichtigsten Grundbefehlen in SQL und kommt immer dann zur Anwendung, wenn Sie eine Datenbank mit neuen Inhalten versehen oder bestehende Informationen erweitern möchten.

Was ist der MariaDB INSERT-Befehl?

Der INSERT-Befehl in MariaDB fügt neue Daten in eine Tabelle ein. Er ergänzt bestehende Datenstrukturen durch vollständige Zeilen. Immer wenn Nutzerinnen und Nutzer sich registrieren, ein Formular absenden oder ein Produkt anlegen, führt das System im Hintergrund ein INSERT INTO aus.

MariaDB prüft beim Einfügen, ob die Werte zu den Spaltendatentypen passen und ob alle erforderlichen Felder ausgefüllt sind. Verletzen die Werte Einschränkungen wie NOT NULL, UNIQUE oder FOREIGN KEY, lehnt die Datenbank den Vorgang ab. Daher spielen die Struktur der Zieltabelle und die korrekte Angabe der Spalten eine wichtige Rolle für den Einsatz von INSERT.

Wie sieht der INSERT INTO-Befehl in MariaDB aus?

Die Standard-Syntax für INSERT INTO lautet:

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);
sql
  • table_name gibt die Tabelle an, in die die Daten geschrieben werden.
  • Die Spaltenliste (column1, column2, ...) ist optional, aber empfehlenswert.
  • Der VALUES-Teil enthält die Werte, die Sie in die angegebenen Spalten einfügen.

MariaDB ergänzt die Werte in der Reihenfolge, in der die Spalten definiert sind. Stimmen Anzahl oder Reihenfolge der Werte nicht mit der Spaltenliste überein, führt das zu einem Fehler.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support

Welche Parameter und Argumente für MariaDB INSERT INTO gibt es?

INSERT INTO lässt sich je nach Bedarf erweitern und anpassen. Hier sind die wichtigsten Parameter und Varianten:

Spaltenliste

Sie können alle Spalten angeben oder nur bestimmte. Fehlt die Liste, erwartet MariaDB Werte für alle Spalten in der Tabellenstruktur.

INSERT INTO users VALUES (1, 'Anna', 'anna@example.com');
sql

Wenn Sie nur spezifische Spalten füllen möchten, führen Sie den folgenden Befehl aus:

INSERT INTO users (name, email) VALUES ('Anna', 'anna@example.com');
sql

Hier wählen wir die Spalten name und email aus.

Mehrere Zeilen einfügen

Diese Variante ist effizienter als mehrere einzelne MariaDB INSERT-Befehle, besonders bei großen Datenmengen:

INSERT INTO products (name, price)
VALUES ('pen', 1.50),
    ('notepad', 2.00),
    ('bag', 9.90);
sql

INSERT IGNORE

Mit IGNORE überspringt MariaDB Zeilen, die gegen Einschränkungen verstoßen, und fährt mit den restlichen fort.

INSERT IGNORE INTO users (id, name) VALUES (1, 'Anna');
sql

INSERT ... ON DUPLICATE KEY UPDATE

Dieser Ausdruck aktualisiert bestehende Zeilen, wenn ein eindeutiger Schlüsselkonflikt entsteht.

INSERT INTO users (id, name)
VALUES (1, 'Anna')
ON DUPLICATE KEY UPDATE name = 'Anna';
sql

Die Technik spart zusätzliche Abfragen und sorgt dafür, dass Sie Insert- und Update-Logik in einem einzigen Befehl kombinieren. Dies ist sehr praktisch bei Importen, synchronisierten Daten oder automatisierten Buchungsvorgängen.

Einfügen mit SELECT

Mit SELECT kopieren Sie Datensätze von einer Tabelle in eine andere:

INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';
sql

Anwendungsbeispiele für MariaDB INSERT INTO

Im Folgenden stellen wir Ihnen häufige Einsatzszenarien für INSERT INTO vor.

User registrieren

In dem nachfolgenden Beispiel fügt MariaDB eine neue Benutzerin in die Tabelle users ein. Die Werte für die Spalten name und email stammen aus einem Formular oder einer Anwendung. Der Wert NOW() ruft den aktuellen Zeitstempel ab, also den Zeitpunkt der Registrierung.

INSERT INTO users (name, email, created_at)
VALUES ('Lena', 'lena@example.com', NOW());
sql

Diese Methode eignet sich für klassische Webformulare wie Anmeldemasken, bei denen jede Eintragung direkt in die Datenbank übernommen wird. Wichtig ist hier, dass created_at vom Typ DATETIME oder TIMESTAMP ist, damit NOW() korrekt gespeichert wird.

Daten aus einer anderen Tabelle einfügen

Dieses Beispiel zeigt, wie Sie vorhandene Daten aus einer Tabelle (orders) in eine andere Tabelle (archive_orders) übernehmen. MariaDB wählt alle Bestellungen aus, die den Status 'completed' besitzen, und überträgt die Spalten id und status.

INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';
sql

Solche Befehle kommen bei Archivierungen, Datenbereinigungen oder Berichterstellungen zum Einsatz. Überprüfen Sie, dass die Struktur, wie zum Beispiel Spaltentypen, zwischen Quell- und Zieltabelle übereinstimmt, sonst führt MariaDB den Befehl nicht aus.

Managed Database Services
Datenbanken – Auf´s Wesentliche konzentrieren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
  • Rechenzentren in Deutschland: Ihre Daten sind sicher
War dieser Artikel hilfreich?
Zum Hauptmenü