我们如何在 INSERT 语句中使用 MySQL 子查询?
mysqlmysqli database
可以借助一个示例来理解,在这个示例中,我们将一个表的值复制到另一个表中。我们使用表"cars"中的数据并将其数据复制到表"copy_cars" −
mysql> CREATE TABLE copy_cars LIKE cars; Query OK, 0 rows affected (0.86 sec) mysql> SELECT * from copy_cars; Empty set (0.08 sec)
以下使用子查询的查询将把与‘cars’相同的值插入到表‘copy_cars’中−
mysql> INSERT INTO Copy_cars Select * from Cars; Query OK, 8 rows affected (0.07 sec) mysql> SELECT * from copy_cars; +------+--------------+---------+ | ID | Name | Price | +------+--------------+---------+ | 1 | Nexa | 750000 | | 2 | Maruti Swift | 450000 | | 3 | BMW | 4450000 | | 4 | VOLVO | 2250000 | | 5 | Alto | 250000 | | 6 | Skoda | 1250000 | | 7 | Toyota | 2400000 | | 8 | Ford | 1100000 | +------+--------------+---------+ 8 rows in set (0.00 sec)