首页 > 代码库 > 将查询结果插入到表中

将查询结果插入到表中

语法:INSERT  INTO  table_name1  (column_list)  SELECT  (column_list2)  FROM  table_name2  WHERE  (condition);

以下创建 person 和 person_old 两个表,将 person_old 的查询结果然后插入到 person 表中

mysql> CREATE TABLE person  # 创建 person 表    -> (    -> id    INT UNSIGNED NOT NULL AUTO_INCREMENT,    -> name  CHAR(40) NOT NULL DEFAULT ‘‘,    -> age   INT NOT NULL DEFAULT 0,    -> info  CHAR(50) NULL,    -> PRIMARY KEY (id)    -> );
mysql> CREATE TABLE person_old    # 创建 person_old 表    -> (    -> id    INT UNSIGNED NOT NULL NULL AUTO_INCREMENT,    -> name  CHAR(40) NOT NULL DEFAULT ‘‘,    -> age   INT NOT NULL DEFAULT 0,    -> info  CHAR(50) NULL,    -> PRIMARY KEY (id)    -> );
mysql> INSERT INTO person_old VALUES (1, ‘Harry‘, 20, ‘student‘), (2, ‘Beckham‘, 31, ‘police‘);  # 在 person_old 表中插入两条数据
mysql> INSERT INTO person(id, name, age, info) SELECT id, name, age, info FROM person_old;  # 将 person_old 的查询结果然后插入到 person 表中
mysql> SELECT * FROM person;  # 查询 person 表是否有插入数据+----+---------+-----+------------+| id | name    | age | info       |+----+---------+-----+------------+|  1 | Harry   |  20 | student    ||  2 | Beckham |  31 | police     |+----+---------+-----+------------+

 

 

 

 

    

将查询结果插入到表中