Heim > häufiges Problem > Hauptteil

Verwendung von insert in select-Syntax

DDD
Freigeben: 2023-07-06 16:54:03
Original
5647 Leute haben es durchsucht

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.

Verwendung von insert in select-Syntax

Die Syntax von INSERT INTO SELECT lautet wie folgt:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
Nach dem Login kopieren

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);
Nach dem Login kopieren

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
);
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage