当前位置: 首页 > 编程笔记 >

我们如何在MySQL INSERT INTO命令中使用WHERE子句?

邓昀
2023-03-14
本文向大家介绍我们如何在MySQL INSERT INTO命令中使用WHERE子句?,包括了我们如何在MySQL INSERT INTO命令中使用WHERE子句?的使用技巧和注意事项,需要的朋友参考一下

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

借助虚拟表

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

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));

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

mysql> Select * from testing;

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

1 row in set (0.00 sec)

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

在相同结构表的帮助下

如果要在结构与另一个表相同的表中插入,则在下面的示例中,已经说明了如何进行条件插入,即如何在INSERT INTO语句中使用WHERE子句。

mysql> Insert into dummy1(id,name)select id, name from dummy Where id =1;
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'的行。

 类似资料:
  • 问题内容: 我想在PHP中使用的查询与命令的,但 我只看到1台 即得到, 我怎么可以让我的两个表 得到? 问题答案: 您必须重复该子句,它仅适用于一个查询,而不适用于整个查询。

  • “我们在git中甚至在Windows中都使用linux命令。我想知道它是如何让这些linux命令在Windows上运行的?”

  • 本文向大家介绍我们如何将MySQL DISTINCT子句与WHERE和LIMIT子句一起使用?,包括了我们如何将MySQL DISTINCT子句与WHERE和LIMIT子句一起使用?的使用技巧和注意事项,需要的朋友参考一下 通过在MySQL查询中将WHERE子句与DISTINCT子句一起使用,我们将基于一个条件,即MySQL返回结果集的唯一行。通过在MySQL查询中使用LIMIT子句和DISTIN

  • 问题内容: 我正在尝试搜索文本和备注的多列,以查找某些我不想看到的特定短语和黑名单短语。 假设下表 前任。我想找到所有提到(在任何领域中)“苹果”但黑名单中的“苹果酱”的故事。 如何在where子句中使用别名?我找不到有关此主题的任何文档: 1)这种方法可行吗? 2)替代方法是否意味着我将在每次行迭代中执行多个字符串连接? 问题答案: 我不能在where子句中使用别名。 这种方法可行吗? 当然,将

  • 问题内容: 在命名查询的where子句中可能有一个like?我正在尝试执行以下操作,但出现异常 我尝试像在普通SQL中那样添加%,但是得到了异常编译。 任何指针,不胜感激! 谢谢 问题答案: 您不能在中添加%,但可以在为其分配参数的值中包含它。 如:

  • 问题内容: 为什么不能在where子句中使用临时列? 例如,此查询: 这将显示两列,一列称为,另一列称为。是即时创建的,始终为1或0,具体取决于是否有50个或该品牌的产品。 这一切对我来说都是有意义的,除了我不能仅在以下查询中选择时: 这给了我这个错误: 问题答案: 使用来代替: 被评估 前 的。被评估之后。