Die Anweisung `INSERT` in PostgreSQL wird verwendet, um neue Datenzeilen in eine bestimmte Tabelle einzufügen. Es ist ein grundlegender Vorgang, um Datenbanken mit neuen Informationen zu füllen und zu aktualisieren.
Verwendung
Die grundlegende Syntax der `INSERT`-Anweisung wird verwendet, wenn du einer Tabelle neue Datensätze hinzufügen musst. Sie gibt den Tabellennamen, die Spalten, in die Daten eingefügt werden sollen, und die entsprechenden Werte an.
sql
INSERTINTOtable_name(column1, column2,...)VALUES(value1, value2,...);Bereitgestellt von
In dieser Syntax ist `Tabellenname` die Zieltabelle, `Spalte1, Spalte2, ...` sind die Spalten, die die Daten erhalten sollen, und `Wert1, Wert2, ...` sind die eigentlichen Datenwerte, die eingefügt werden sollen.
Dieses Beispiel fügt eine einzelne Zeile in die Tabelle "Mitarbeiter" mit den Werten für "Vorname", "Nachname" und "E-Mail" ein.
2. Mehrere Zeilen einfügen
sql
INSERTINTOproducts(product_name, price)VALUES('Product A',10.99),('Product B',15.49);Bereitgestellt von
Hier werden in einer Anweisung zwei Zeilen in die Tabelle "Produkte" eingefügt, jeweils mit einem "Produktnamen" und einem "Preis".
3. Einfügen mit Unterabfrage
sql
INSERTINTOsales(product_id, quantity)SELECT product_id,5FROM products
WHERE product_name ='Product C';Bereitgestellt von
In diesem Beispiel werden Daten in die Tabelle `Verkauf` eingefügt, indem die `Produkt_id` aus der Tabelle `Produkte` ausgewählt wird, wobei der `Produktname` 'Produkt C' ist und die `Menge` auf 5 gesetzt wird.
4. Behandlung von Duplikaten mit ON CONFLICT
sql
INSERTINTOusers(username, email)VALUES('jane_doe','[email protected]')ONCONFLICT(username)DOUPDATESET email =EXCLUDED.email;Bereitgestellt von
Dieses Beispiel zeigt, wie mögliche Duplikate behandelt werden, indem die "E-Mail" aktualisiert wird, wenn der "Benutzername" bereits in der Tabelle "Benutzer" existiert.
5. RETURNING-Klausel verwenden
sql
INSERTINTOorders(customer_id, order_date)VALUES(123,'2023-10-11')RETURNING order_id;Bereitgestellt von
Die Klausel `RETURNING` wird verwendet, um die `Order_id` der neu eingefügten Zeile zurückzugeben, was besonders bei Feldern mit automatischer Erhöhung nützlich ist.
Tipps und bewährte Praktiken
Gib die Spalten explizit an. Listen Sie immer die Spalten in einer `INSERT`-Anweisung auf, um die Übersichtlichkeit zu gewährleisten und die Kompatibilität zu erhalten, wenn sich die Struktur der Tabelle ändert.
Datentypen validieren. Stelle sicher, dass die eingefügten Werte mit den Datentypen der Spalten übereinstimmen.
Verwende Transaktionen für Masseneinlagen. Wickle mehrere "INSERT"-Operationen in eine Transaktion ein, um Atomarität zu gewährleisten und die Leistung zu verbessern. Zum Beispiel:
sql
BEGIN;INSERTINTOproducts(product_name, price)VALUES('Product C',12.99);INSERTINTOproducts(product_name, price)VALUES('Product D',18.49);COMMIT;Bereitgestellt von
Behandle Duplikate. Verwende `ON CONFLICT` für den Umgang mit möglichen Schlüsselkonflikten, nicht `INSERT ... ON DUPLICATE KEY UPDATE`, was der MySQL-Syntax entspricht.
Setze Unterabfragen klug ein. Nutze Unterabfragen für das dynamische Einfügen von Daten aus anderen Tabellen, um die Datenintegrität und -konsistenz zu wahren.
Die Anweisung `INSERT` in PostgreSQL wird verwendet, um neue Datenzeilen in eine bestimmte Tabelle einzufügen. Es ist ein grundlegender Vorgang, um Datenbanken mit neuen Informationen zu füllen und zu aktualisieren.
Verwendung
Die grundlegende Syntax der `INSERT`-Anweisung wird verwendet, wenn du einer Tabelle neue Datensätze hinzufügen musst. Sie gibt den Tabellennamen, die Spalten, in die Daten eingefügt werden sollen, und die entsprechenden Werte an.
In dieser Syntax ist `Tabellenname` die Zieltabelle, `Spalte1, Spalte2, ...` sind die Spalten, die die Daten erhalten sollen, und `Wert1, Wert2, ...` sind die eigentlichen Datenwerte, die eingefügt werden sollen.
Beispiele
1. Basic Insert
Dieses Beispiel fügt eine einzelne Zeile in die Tabelle "Mitarbeiter" mit den Werten für "Vorname", "Nachname" und "E-Mail" ein.
2. Mehrere Zeilen einfügen
Hier werden in einer Anweisung zwei Zeilen in die Tabelle "Produkte" eingefügt, jeweils mit einem "Produktnamen" und einem "Preis".
3. Einfügen mit Unterabfrage
In diesem Beispiel werden Daten in die Tabelle `Verkauf` eingefügt, indem die `Produkt_id` aus der Tabelle `Produkte` ausgewählt wird, wobei der `Produktname` 'Produkt C' ist und die `Menge` auf 5 gesetzt wird.
4. Behandlung von Duplikaten mit ON CONFLICT
Dieses Beispiel zeigt, wie mögliche Duplikate behandelt werden, indem die "E-Mail" aktualisiert wird, wenn der "Benutzername" bereits in der Tabelle "Benutzer" existiert.
5. RETURNING-Klausel verwenden
Die Klausel `RETURNING` wird verwendet, um die `Order_id` der neu eingefügten Zeile zurückzugeben, was besonders bei Feldern mit automatischer Erhöhung nützlich ist.
Tipps und bewährte Praktiken