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)