如何更新数据库中部分数据

如何更新数据库中部分数据,第1张

SqlServer数据库-----------------

问题1,在住址字段的前4位保证都是“###楼”的情况下:

update [表名] set [住址字段]= case (select substring([住址字段],6,1) from [表名] where [主键]=t[主键]) when '号' then left([住址字段],4)+'0'+right([住址字段],len([住址字段])-4) else [住址字段] end from [表名] t

问题2:

update [表名] set ID=left(ID,4)+'0'

自行替换两个sql语句中用方括号括起来的部分,然后在查询分析器中执行就可以了。

使用方法:

string delStr = "update Users set UserPassword = '"+ textBox2Text +"',UserSort='"+textBox3Text+" ' where UserID = " + textBox1Text ;

int ni= mycomExecuteNonQuery();

if(ni>0)

{

MessageBoxShow("修改成功", "提示");

}

else

{

MessageBoxShow("修改失败", "提示");

}

UPDATE语句用于更新修改指定记录的数据,对符合条件的记录,更新修改指定字段的值。若没有WHERE条件限定,则对所有记录进行更新修改。

可用row_number来解决。

如student表:

姓名      年龄

张三       20

李四       15

王五       22

赵六       21

孙七       18

杨八       19

刘九       24

现在要按年龄从大到小取出前5条数据的话,可用如下语句:

select 姓名,年龄 

from

(select 姓名,年龄,row_number() over (order by 年龄 desc) as rn from student) t

where rn<=5;

得到的结果是:

姓名      年龄

刘九       24

王五       22

赵六       21

张三       20

杨八       19

问题不完整,这里提供几个例子启发一下。

1)更新a列为a列与b列之和

update tblName set a=a+b;

2)更新a列为b列增加10%

update tblName set a=b11;

update TableA set NameSpell=dbofn_GetPinyin(name) UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 不知道是不是这个意思

update t1 set f1=(select f2 from t2 where t2key=t1key)

不要写db2dbo

update t1 set f1=(select top 1 f2 from t2 where t2f3=t1f3)

注意,()里面要保证只返回一条记录

提供思路:把所有数据放进一个大MAP,map1中,把更新完的数据放到小map中map2,以ID为KEY,整条数据为VALUE;下次再更新的话,将map1中key值等于map2的key值的数据,去掉;再更新

以上就是关于如何更新数据库中部分数据全部的内容,包括:如何更新数据库中部分数据、C# update方法更新数据库、SQL如何更新数据库指定条件的前几条数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9534328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存