gpt4 book ai didi

sql - 为什么 SQL INSERT 和 UPDATE 语句有不同的语法?

转载 作者:行者123 更新时间:2023-12-04 17:13:52 24 4
gpt4 key购买 nike

一边想着this question关于 SQL INSERT语句,我突然想到这两个语句之间的语法区别在很大程度上是人为的。也就是说,为什么我们不能这样做:

INSERT INTO MyTable SET Field1=Value1, Field2=Value2, ...

或者
UPDATE MyTable ( Field1, Field2 ...) VALUES ( Value1, Value2, ... ) 
WHERE some-key = some-value

也许我错过了一些关键的东西。但是对于我们这些过去不得不连接我们的 SQL 语句的人来说, INSERT 具有类似的语法。和一个 UPDATE语句会节省大量的编码。

最佳答案

它们服务于不同的语法功能。在更新中,您指定了一个过滤器,用于选择您将应用更新的一组行。当然,出于相同目的,该语法与 SELECT 查询共享。

在 INSERT 中,您没有选择任何行,而是生成一个需要指定一组值的新行。

在 UPDATE 中,LHS=RHS 内容指定了一个产生真或假(或可能为空:)的表达式,而在 INSERT 中,VALUES 子句是关于值的分配。因此,虽然它们表面上相似,但它们在语义上却大不相同,恕我直言。虽然我写了一个SQL解析器,所以可能会影响我的观点。 :)

关于sql - 为什么 SQL INSERT 和 UPDATE 语句有不同的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1704456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com