sql中的update如何根据不同条件修改多条数据的同一列

2024-11-09 11:42:32
推荐回答(4个)
回答1:

如果只需要更新一个字段,MYSQL和ORACLE语法是一样的,在 set 后面跟一个子查询即可。

现在需要同时更新2个字段,最不经过大脑思考的方法就是 “为每个 set 后面都跟一个子查询”,但是假如要 set 十个字段或者更多字段,很显然,这样在性能上是很不合适的方法。

同时更新多个字段在MYSQL和ORACLE中的方法是不一样,MYSQL需要连接表,ORACLE使用 set(...) 即可。

扩展资料

sql更新语句中update用法:

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

更新某一行中的一个列

为 lastname 是 "Wilson" 的人添加 firstname:

UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

请注意 SQL UPDATE 语句中的 WHERE 子句!

WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!    

回答2:

可以啊
修改Where条件
update abc set a=1 where id=1 Or id=2
你给的例句有问题啊,表名abc,后面写的是a.id

回答3:

UPDATE abc SET abc.a=1 WHERE a.id IN (1,2),字符类型加''号

回答4:

修改学生表中性别列,如果是男,就修改为1,如果是女就修改为0,其他情况为2
请参照如下语句修改执行:
UPDATE student SET sex = (CASE WHEN sex='男' THEN 1 WHEN sex='女' THEN 0 ELSE 2 END) WHERE 1=1