• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SqlServer Update的各种使用方式

武飞扬头像
李袁明
帮助1

SqlServer Update的各种使用方式

第一章 SqlServer之Update的各种使用方式



前言

在平时的使用中常常会遇到一些批量修改或者根据某个表的数据去修改另一个表的数据。


一、基础知识

Update 的执行过程其实是先删除后添加 ,
例如: 比如执行这个语句:

update UserInfo set password='asdasdasd' where user_Name='admin'

; 就是把用户名为 'admin' 的用户的密码改为 'asdasdasd'. 在SQL server执行的机制中,先是把user_Name='admin'的这条记录删除掉,然后再insert 一条语句,此时的passwordasdasdasd,而不是原来的。
一般大家都会认为,update的工作原理是DBMS先找到该条记录,就直接在上面修改某个字段的数据。但是这个是不正确的。
用SQL语句表示的话,如果你要执行

  update UserInfo set password='asdasdasd' where user_Name='admin'
  其实是按以下顺序执行的:
  
  第一步:delete from UserInfo  where user_Name='admin'
  第二部:insert into UserInfo (user_Name,password) values('admin','asdasdasd') 

扩展知识:
DBMS:
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作

----摘抄自百度百科

二、单表更新

1.单表单条数据更新

代码如下(示例):

 update UserInfo set password='asdasdasd' where user_Name='admin'

2.单表多条数据更新

代码如下(示例):

 update UserInfo set password='asdasdasd' where UserId in(select  userId from UserInfo where (CreateTime BETWEEN '2007-01-06 0:00:00' AND '2007-01-06 23:59:59')

二、多表更新

1.多表多条更新

代码如下(示例):


  UPDATE MedicineInfo_jddj 
SET DslSku = b.DslSku
FROM
    dsl.dbo.ProductCheck_Code b,MedicineInfo_jddj n
WHERE
    b.DslSku = n.goodsid and  n.goodsid in ('1218739','2202494','2202632','1156636','2202498','90260','88201','89985','84419','56091','74318','89463','32181')

2.多表单条更新


  UPDATE MedicineInfo_jddj 
SET DslSku = '123'
FROM
    dsl.dbo.ProductCheck_Code b,MedicineInfo_jddj n
WHERE
    b.DslSku = n.goodsid and  n.goodsid='123'

总结

sqlserver 的Update 语句一定要加 where 条件,不然后果很严重。where条件尽量用索引列这样能有效提高效率。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggiebj
系列文章
更多 icon
同类精品
更多 icon
继续加载