我们如何将 WHERE 子句与 MySQL INSERT INTO 命令一起使用?

PHPz
发布: 2023-09-05 13:41:08
转载
749 人浏览过

我们如何将 WHERE 子句与 MySQL INSERT INTO 命令一起使用?

在插入新行的情况下,我们可以使用条件插入,即 WHERE 子句和 INSERT INTO 命令。可以通过以下方式完成 -

借助虚拟表

在这种情况下,我们插入虚拟表中的值以及一些状况。语法如下 -

INSERT INTO table_name(column1,column2,column3,…) Select value1,value2,value3,… From dual WHERE [conditional predicate];
登录后复制

示例

mysql> Create table testing(id int, item_name varchar(10));
Query OK, 0 rows affected (0.15 sec)

mysql> Insert into testing (id,item_name)Select 1,'Book' From Dual Where 1=1;
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> Select * from testing;

+------+-----------+
| id   | item_name |
+------+-----------+
| 1    | Book      |
+------+-----------+

1 row in set (0.00 sec)
登录后复制

在上面的示例中,我们创建了一个表“testing”,为了向其中插入行,我们使用了带有条件的虚拟表对偶。如果条件为真,MySQL 会将行插入到表中,否则不会。

借助相同结构的表

如果我们想插入结构与另一个表相同的表,然后在下面的示例中演示了如何进行条件插入,即如何将 WHERE 子句与 INSERT INTO 语句一起使用。

mysql> Insert into dummy1(id,name)select id, name from dummy Where id =1;
Query OK, 1 row affected (0.06 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> select * from dummy;

+------+--------+
| id   | Name   |
+------+--------+
| 1    | Gaurav |
| 2    | Aarav |
+------+--------+

2 rows in set (0.00 sec)

mysql> select * from dummy1;

+------+--------+
| id   | Name   |
+------+--------+
| 1    | Gaurav |
+------+--------+

1 row in set (0.00 sec)
登录后复制

在上面的示例中,我们在表“dummy1”中插入了值,其结构与表“dummy”相同,条件是仅插入“id = 1”的行。

以上是我们如何将 WHERE 子句与 MySQL INSERT INTO 命令一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!