在資料庫中,INSERT INTO SELECT語句用來將一個查詢的結果插入另一個表中。 INSERT INTO SELECT語句可以非常方便地複製一個資料表的內容到另一個表中,或根據查詢結果建立一個新的表。
INSERT INTO SELECT的語法如下:
INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;
這個語句的意思是將table1中滿足某個條件的行的column1、column2 、column3等列的值插入到table2中的對應列。
下面是一個實際的例子來說明INSERT INTO SELECT的使用。
假設我們有兩個表:students和new_students。 students表包含以下列:id, name, age, score。我們想要將students表中年齡大於等於18歲的學生插入new_students表中。
首先,我們建立students表和插入一些範例資料:
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);
接下來,我們建立new_students表:
CREATE TABLE new_students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT );
最後,我們使用INSERT INTO SELECT語句將students表中年齡大於等於18歲的學生插入到new_students表中:
INSERT INTO new_students (name, age, score) SELECT name, age, score FROM students WHERE age >= 18;
這樣,new_students表中就包含了students表中年齡大於等於18歲的學生的資訊。
除了直接將查詢結果插入到另一個表中外,INSERT INTO SELECT語句也可以用來建立一個新的表,只包含查詢結果:
CREATE TABLE new_table AS SELECT column1, column2, ... FROM table WHERE condition;
這樣,new_table就會被建立並包含查詢結果。
總結
INSERT INTO SELECT語句是在一個表(或查詢結果)中選擇某些行,並將其插入到另一個表中(或建立一個新的表)。這個功能非常強大,可以方便地複製、篩選和建立新的表。
以上是insert into select語法的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!