博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几种更新(Update语句)查询的方法
阅读量:5896 次
发布时间:2019-06-19

本文共 1022 字,大约阅读时间需要 3 分钟。

正 文:

数据库更新就一种方法Update,

其标准格式:Update 表名 set 字段=值 where 条件
只是依据数据的来源不同,还是有所差别的:

 

1.从外部输入
这样的比較简单
例:update tb set UserName="XXXXX" where UserID="aasdd"
2.一些内部变量,函数等,比方时间等
直接将函数赋值给字段
update tb set LastDate=date() where UserID="aasdd"
3.对某些字段变量+1,常见的如:点击率、下载次数等
这样的直接将字段+1然后赋值给自身
update tb set clickcount=clickcount+1 where ID=xxx
4.将同一记录的一个字段赋值给还有一个字段
update tb set Lastdate= regdate where XXX
5.将一个表中的一批记录更新到另外一个表中
table1 
ID f1 f2
table2 
ID f1 f2
先要将table2中的f1 f2 更新到table1(同样的ID)
update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID
6.将同一个表中的一些记录更新到另外一些记录中
表:a
ID   month   E_ID     Price
1       1           1        2
2       1           2        4
3       2           1         5
4       2           2        5
先要将表中2月份的产品price更新到1月份中
显然,要找到2月份中和1月份中ID同样的E_ID并更新price到1月份中
这个全然能够和上面的方法来处理,只是因为同一表,为了区分两个月份的,应该将表重命名一下
update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2 
当然,这里也能够先将2月份的查询出来,在用5.的方法去更新 
update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1

转载于:https://www.cnblogs.com/MaxElephant/p/10212578.html

你可能感兴趣的文章
关于width: 100%的一些看法
查看>>
第十三周项目1-动物这样叫
查看>>
CUDA和TensorFlow的版本匹配问题
查看>>
gerrit安装及其注意事项
查看>>
设置grid行字体颜色为红色
查看>>
jQuery 快捷操作
查看>>
windows docker
查看>>
Springboot中发送邮件util
查看>>
「小程序JAVA实战」小程序的视频展示页面初始化(63)
查看>>
瀑布开发模式和敏捷开发模式
查看>>
1.单一职责原则
查看>>
98.Ext.form.Label组件的基本用法
查看>>
Maven配置ojdbc14-10.2.0.4.0.jar
查看>>
Java的封装性、继承性和多态性
查看>>
靶形数独
查看>>
支持向量机(四)——非线性支持向量机
查看>>
php遍历对象属性,可以使用foreach,直接打印出属性
查看>>
jquery下ie的margin-left ----bug 以及parseInt方法bug
查看>>
jdbc
查看>>
[c++]合并排序多个已排好序的单项链表
查看>>