MySQL 如何仅使用另一个表中的字符串作为参考添加行

MySQL 如何仅使用另一个表中的字符串作为参考添加行

为此,请在MySQL中使用INSERT INTO SELECT语句。让我们创建一个表:

mysql> CREATE TABLE demo61
-> (
-> id INT,
-> name VARCHAR(20)
-> )
->;
Query OK,0 rows affected (1.84 sec)

使用INSERT命令将一些记录插入表中:

mysql> INSERT INTO demo61 VALUES(1,'John');
Query OK, 1 row affected (0.63 sec)

mysql> INSERT INTO demo61 VALUES(2,'David');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT INTO demo61 VALUES(1,'Mike');
Query OK, 1 row affected (0.10 sec)

mysql> INSERT INTO demo61 VALUES(2,'Carol');
Query OK, 1 row affected (0.30 sec)

mysql> INSERT INTO demo61 VALUES(2,'Bob');
Query OK, 1 row affected (0.09 sec)

使用SELECT语句从表中显示记录:

mysql> SELECT *FROM demo61;

这将产生以下输出:

+------+-------+
| id   | name  |
+------+-------+
|    1 | John  |
|    2 | David |
|    1 | Mike  |
|    2 | Carol |
|    2 | Bob   |
+------+-------+
5 rows in set (0.00 sec)

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

mysql> CREATE TABLE demo62
-> (
-> employee_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> employee_name VARCHAR(20)
-> );
Query OK, 0 rows affected (1.60 sec)

使用INSERT命令将一些记录插入表中:

mysql> INSERT INTO demo62(employee_name)
-> SELECT name FROM demo61 WHERE id=2;
Query OK, 3 rows affected (0.14 sec)
Records: 3 Duplicates: 0 Warnings: 0

使用SELECT语句从表中显示记录:

mysql> SELECT *FROM demo62;

这将产生以下输出:

+-------------+---------------+
| employee_id | employee_name |
+-------------+---------------+
| 1           | David         |
| 2           | Carol         |
| 3           | Bob           |
+-------------+---------------+
3 rows in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程