首頁 > 常見問題 > 主體

insert into select語法的使用

DDD
發布: 2023-07-06 16:54:03
原創
5648 人瀏覽過

在資料庫中,INSERT INTO SELECT語句用來將一個查詢的結果插入另一個表中。 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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板