首页 >常见问题 >insert into select语法的使用

insert into select语法的使用

DDD
DDD原创
2023-07-06 16:54:035657浏览

在数据库中,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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn