有时无涯教程要将一个表的数据插入到同一数据库中的其他表中。使用插入查询手动输入这些数据并不容易。可以使用MySQL Insert在选择查询中优化此过程。它允许快速填充MySQL表。本节将介绍INSERT TO SELECT命令,语法及其用例。
早些时候,无涯教程使用了INSERT命令,将单个或多个记录添加到表中,如下所示:
INSERT INTO table_name (column_list) VALUES (value_list);
以下是显示在MySQL中使用Insert进入Select命令的基本语法。如果无涯教程想将所有数据从一个表复制到另一个表中,可以使用以下语句:
INSERT INTO table_name2 SELECT * FROM table_name1 WHERE condition;
从 mysql版本8.0.19 ,无涯教程可以使用 table 语句代替选择查询以获得相同的输出,如下所示:
INSERT INTO table2 TABLE table1;
在这里,表 table1 等同于从表1中选择*。当无涯教程希望将源表中的所有记录添加到目标表时,不会过滤值。
如果想将某些列从一个表中复制到另一个表,可以使用以下语句:
INSERT INTO table_name2 (column_list) SELECT column_list FROM table_name1 WHERE condition;
在此语法中,无涯教程使用了SELECT语句而不是使用值子句。这里选择命令从一个或多个表中检索值。
table_name1 - 它是源表的名称。
table_name2 - 它是将复制源表数据的目标表的名称。
column_list - 它表示表的列名。
condition - 它用于过滤表数据。
让无涯教程了解在示例的帮助下,请在MySQL中将插入刀在MySQL中工作。首先,需要使用下面给出的语句创建一个名为" person 的表"表:
CREATE TABLE person ( id int AUTO_INCREMENT PRIMARY KEY, name varchar(45) NOT NULL, email varchar(45) NOT NULL, city varchar(25) NOT NULL );
接下来,无涯教程将将值插入表中。可以执行以下语句以将数据添加到表中:
INSERT INTO person (id, name, email, city) VALUES (1,'Stephen', 'stephen@learnfk.com', 'Texas'), (2, 'Joseph', 'Joseph@learnfk.com', 'Alaska'), (3, 'Peter', 'Peter@learnfk.com', 'Texas'), (4,'Donald', 'donald@learnfk.com', 'New York'), (5, 'Kevin', 'kevin@learnfk.com', 'Texas');
无涯教程可以通过执行SELECT语句来验证数据:
SELECT * FROM person;
执行查询后,可以看到下面的输出,有五行进入表格:
假设希望将一个人的名字插入另一个表。以下查询用于搜索位于Texas的所有人员:
SELECT name, email, city FROM person WHERE city = 'Texas';
现在,无涯教程将创建另一个名为 person_info 的表,该表具有相同数量的列和数据类型,以及上表的顺序:
CREATE TABLE person_info ( person_id int AUTO_INCREMENT PRIMARY KEY, person_name varchar(45) NOT NULL, email varchar(45) NOT NULL, city varchar(25) NOT NULL );
其次,无涯教程将使用插入刀片进入Select语句,以插入位于Texas的人,从 person table 进入 person_info表:
INSERT INTO person_info (person_name, email, city) SELECT name, email, city FROM person WHERE city = 'Texas';
执行此语句后,无涯教程可以使用SELECT查询验证插入操作。将获得以下产出,所有位于Texas的所有人都成功插入。
假设想要将所有人的表数据插入person_info表而不过滤任何值;无涯教程可以使用以下声明执行此操作:
INSERT INTO person_info Table person;
执行SELECT语句以验证数据。以下是输出:
链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-insert-into-select.html
来源:LearnFk无涯教程网
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕