首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL update语句总是以WHERE子句结尾吗?

SQL update语句总是以WHERE子句结尾吗?
EN

Stack Overflow用户
提问于 2022-02-16 17:05:44
回答 3查看 134关注 0票数 0

我正在开发一个系统,这样用户就可以将查询输入到系统中,系统就可以验证查询了。当用户输入update语句时,我希望为内部select语句重用WHERE子句。

例如,假设用户输入:

代码语言:javascript
复制
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

我想重用系统select语句的WHERE CustomerID = 1 (最可能的方法是接受子字符串),以验证最近更新的行是否为有效格式:

系统输入:

代码语言:javascript
复制
SELECT * FROM Customers
WHERE CustomerID = 1;

这安全吗?所有SQL语句都以WHERE子句结尾吗?

EN

回答 3

Stack Overflow用户

发布于 2022-02-16 17:11:22

不是的。

这样的SQL语句

代码语言:javascript
复制
UPDATE Customers 
SET ContactName = 'Alfred Schmidt';

只需更新表中的所有条目,而不对where子句中要更新的行进行任何限制。

票数 0
EN

Stack Overflow用户

发布于 2022-02-16 19:23:09

所有的SQL语句都以WHERE子句结尾吗?

问得好。

作为一个定义,尝试“什么是SQL语句?”:如果您指的是普通的SQL,而不是所有特定于DBMS的类型,那么我想说最流行的标准SQL语句可能只有少数几个,可以有Where子句的SelectUpdateDelete和不能使用的Insert。还有Merge AKA Upsert,它有一个When。我认为很多人都会假设,这三个人可以拥有一个Where,通常也可以*do,甚至*应该有一个,至少在可伸缩的industrial上下文中是这样。

票数 0
EN

Stack Overflow用户

发布于 2022-02-16 17:24:22

SQL语句对Tablecolumn = value有效。然而,关闭任何过滤器通常被认为是不好的形式。另外,where不是唯一的筛选器,也可能有having或连接的on部分。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71146206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档