MySQL INTO Schlüsselwort
Das Schlüsselwort INTO wird in MySQL verwendet, um das Ziel für eingefügte oder ausgewählte Daten anzugeben. Es wird häufig in INSERT INTO Anweisungen zum Hinzufügen von Daten zu Tabellen und in SELECT ... INTO Anweisungen zum Speichern von Daten in Variablen verwendet.
Verwendung
Das Schlüsselwort INTO wird verwendet, wenn du Daten direkt in eine Tabelle oder Variable eingeben willst. In einer INSERT Anweisung hilft sie bei der Angabe der Zieltabelle, während sie in einer SELECT ... INTO Anweisung das Ziel für die ausgewählten Daten definiert, normalerweise in Variablen.
Syntax
INSERT INTO
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
Hier gibt INTO table_name die Tabelle an, in die neue Daten eingefügt werden sollen.
SELECT INTO Variablen
SELECT column1, column2, ...
INTO @variable1, @variable2, ...
FROM existing_table
[WHERE condition];
Diese Syntax speichert die Ergebnisse der Abfrage in benutzerdefinierten Variablen.
Erstellen einer neuen Tabelle aus einer SELECT-Abfrage
CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
[WHERE condition];
Mit dieser Syntax wird eine neue Tabelle new_table erstellt, die Daten aus existing_table enthält.
Beispiele
1. Basic Insert
INSERT INTO products (product_name, price)
VALUES ('Laptop', 999.99);
Dieses Beispiel fügt eine neue Zeile in die Tabelle products mit den angegebenen Werten für product_name und price ein.
2. Speichern von Abfrageergebnissen in Variablen
SELECT COUNT(*) INTO @total_customers
FROM customers
WHERE country = 'USA';
In diesem Beispiel wird das Ergebnis der Zählabfrage in einer benutzerdefinierten Variablen @total_customers gespeichert.
3. Erstellen einer neuen Tabelle aus einer SELECT-Abfrage
CREATE TABLE recent_orders AS
SELECT customer_id, order_date
FROM orders
WHERE order_date > '2023-01-01';
Diese Syntax erstellt eine neue Tabelle recent_orders mit Daten aus orders, deren Bestelldatum nach dem 1. Januar 2023 liegt.
Tipps und bewährte Praktiken
- Stelle sicher, dass die Tabelle existiert. Wenn du
INSERT INTOverwendest, stelle sicher, dass die Zieltabelle bereits existiert. - Verwende
CREATE TABLE ... AS SELECT ...für neue Tabellen. Um eine neue Tabelle aus einer Select-Abfrage zu erstellen, verwende lieberCREATE TABLE ... AS SELECT ...alsSELECT INTO. - Überprüfe die Datentypen. Stimme die Datentypen der Werte mit den Spaltendefinitionen in
INSERT INTOab, um Fehler zu vermeiden. - Nutze Variablen für komplexe Abfragen. Verwende
SELECT ... INTOmit Variablen, um Ergebnisse komplexer Abfragen zur späteren Verwendung zu speichern. - Behandle Fehler und Ausnahmen. Implementiere eine Fehlerbehandlung, um Ausnahmen beim Einfügen oder Auswählen von Daten zu vermeiden.
Hinweis: MySQL unterscheidet sich von anderen SQL-Dialekten wie SQL Server, wo SELECT INTO zum Erstellen neuer Tabellen verwendet wird. In MySQL verwendest du zu diesem Zweck CREATE TABLE ... AS SELECT ....