SQL server 的 update 语句的工作原理

这个学期有学数据库原理,是基于MS 的SQL server。

老师说,想要学好数据库,使数据库的工作效率最大化,那就要了解DBMS的工作原理。

update语句的工作原理:

比如执行这个语句:update guestbook set password='123' where user_id=1000; 就是把用户号为1000的用户的密码改成123. 在SQL server执行的机制中,先是把user_id=1000的这条记录删除掉,然后再insert 一条语句,此时的password是 123 ,而不是原来的。我一直以为,update的工作原理是DBMS先找到该条记录,就直接在上面修改某个字段的数据。但是这个是不正确的。

用SQL语句表示的话,如果你要执行 update guestbook set password='123' where user_id=1000; 其实是执行了下面的几条语句(一步一步的):

a:delete from guestbook where user_id=1000

b:insert into guestbook values(1000,'123')   (假设这个表就这两个字段)

虽然知道这个update的工作原理,但是还是不知道怎么去利用它。