insert into select语法的使用-LMLPHP

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语法的使用的详细内容,更多请关注Work网其它相关文章!

09-18 03:49