MySQL 查询使用另一个表中的值进行 INSERT INTO?

mysqlmysqli database更新于 2024/4/1 9:11:00

为此,请使用 INSERT INTO SELECT 语句。

让我们创建一个表 −

示例

mysql> create table demo82
   -> (
   -> id int,
   -> name varchar(20)
   -> );
Query OK, 0 rows affected (2.06

使用 insert 命令向表中插入一些记录 −

示例

mysql> insert into demo82 values(100,'John');
Query OK, 1 row affected (0.14

mysql> insert into demo82 values(101,'Bob');
Query OK, 1 row affected (0.32

mysql> insert into demo82 values(101,'David');
Query OK, 1 row affected (0.09

mysql> insert into demo82 values(101,'Mike');
Query OK, 1 row affected (0.12

mysql> insert into demo82 values(100,'Sam');
Query OK, 1 row affected (0.07

使用 select 语句显示表中的记录 −

示例

mysql> select *from demo82;

这将产生以下输出 −

输出

+------+-------+

| id   | name  |

+------+-------+

|  100 | John  |

|  101 | Bob   |

|  101 | David |

|  101 | Mike  |

|  100 | Sam   |

+------+-------+

5 rows in set (0.00 sec)

以下是创建第二个表的查询。

示例

mysql> create table demo83
   -> (
   -> id int,
   -> username varchar(20)
   -> );
Query OK, 0 rows affected (1.25

使用 insert 命令 − 向第二个表中插入一些记录

示例

mysql> insert into demo83(id,username)
   -> select id,name from demo82 where id=101;
Query OK, 3 rows affected (0.14 sec)
Records: 3 Duplicates: 0 Warnings: 0

使用 select 语句显示第二个表中的记录−

示例

mysql> select *from demo83;

这将产生以下输出 −

输出

+------+----------+

| id   | username |

+------+----------+

|  101 | Bob      |

|  101 | David    |

|  101 | Mike     |

+------+----------+

3 rows in set (0.00 sec)

相关文章