In einer Datenbank wird die INSERT INTO SELECT-Anweisung verwendet, um die Ergebnisse einer Abfrage in eine andere Tabelle einzufügen. Mit der INSERT INTO SELECT-Anweisung können Sie problemlos den Inhalt einer Tabelle in eine andere Tabelle kopieren oder basierend auf den Abfrageergebnissen eine neue Tabelle erstellen.
Die Syntax von INSERT INTO SELECT lautet wie folgt:
INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;
Diese Anweisung bedeutet, die Werte von Spalte1, Spalte2, Spalte3 und anderen Zeilenspalten, die eine bestimmte Bedingung in Tabelle1 erfüllen, in die entsprechenden Spalten einzufügen in Tabelle2.
Das Folgende ist ein praktisches Beispiel, um die Verwendung von INSERT INTO SELECT zu veranschaulichen.
Angenommen, wir haben zwei Tische: Students und new_students. Die Schülertabelle enthält die folgenden Spalten: ID, Name, Alter, Punktzahl. Wir möchten Studierende, die 18 Jahre oder älter sind, aus der Tabelle „students“ in die Tabelle „new_students“ einfügen.
Zuerst erstellen wir die Schülertabelle und fügen einige Beispieldaten ein:
CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT ); INSERT INTO students (name, age, score) VALUES ('John', 16, 90), ('Alice', 20, 95), ('Tom', 18, 85), ('Emily', 17, 88);
Als nächstes erstellen wir die new_students-Tabelle:
CREATE TABLE new_students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT );
Schließlich verwenden wir die INSERT INTO SELECT-Anweisung, um Schüler, die 18 Jahre oder älter sind, in die Schülerliste einzufügen Tabelle in new_students In der Tabelle:
INSERT INTO new_students (name, age, score) SELECT name, age, score FROM students WHERE age >= 18;
Auf diese Weise enthält die Tabelle new_students die Informationen von Schülern ab 18 Jahren in der Schülertabelle.
Zusätzlich zum direkten Einfügen von Abfrageergebnissen in eine andere Tabelle kann die INSERT INTO SELECT-Anweisung auch verwendet werden, um eine neue Tabelle zu erstellen, die nur die Abfrageergebnisse enthält:
CREATE TABLE new_table AS SELECT column1, column2, ... FROM table WHERE condition;
Auf diese Weise wird new_table erstellt und enthält die Abfrageergebnisse.
Zusammenfassung
Die INSERT INTO SELECT-Anweisung wählt bestimmte Zeilen in einer Tabelle (oder einem Abfrageergebnis) aus und fügt sie in eine andere Tabelle ein (oder erstellt eine neue Tabelle). Diese Funktion ist sehr leistungsstark und kann problemlos neue Tabellen kopieren, filtern und erstellen.
Das obige ist der detaillierte Inhalt vonVerwendung von insert in select-Syntax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!