SQL更新现有数据

利用 UPDATE 命令可以修改表里的现有数据。这个命令不向表里添加新记录,也不删除记录,它只是修改现有的数据。它一般每次只更新数据库里的一个表,但可以同时更新表里的多个字段。
一、更改记录操作
        语法:UPDATE  表名  SET  列名 = 新值
     [ WHERE 更新条件 ];
        叙述: WHERE 子句是判断语句,用来设定条件,限制只更新匹配的行。如果不带 WHERE 子句,则更新所有行数据。
        注意事项: 1. 使用该命令可以对符合 WHERE 条件的所有记录进行修改;
                   2. 需要指明表名和要改变的字段值,这个字段的值由 SET 引导,用来告诉 SQL 要改变哪个字段,以及要将其改为何值;
                   3. 如果不加条件,那么将会是针对于表中的所有记录的修改。
        例1:将 Students 表中的所有学生名称为 "Alex" 的改为 "Tom":
             UPDATE Students SET Sname="Tom" WHERE Sname="Alex";
        例2:更新数据行 Ssex:
             UPDATE Students SET Ssex = 0;
        注意到在这个例子里,所有记录的 Ssex 字段都被更新成0了。在使用没有 WHERE 子句的 UPDATE 语句时要特别小心,这时表里所有记录的相应字段都会被更新。大多数情况下,UPDATE 语句都需要使用 WHERE 子句 。
        例3:将 Sc 表中的所有 '刺绣系' 改为 '家政系' :
             UPDATE Sc
             SET Sdept ='家政系'
             WHERE Sdept = '刺绣系';
        例4: 将 Students 表中的所有95分及以下的成绩加5分:
              UPDATE Students
              SET Sgrade = Sgrade + 5
              WHERE Sgrade <= 95;
        例5:将 stu 表中所有 id 大于900的记录中 Score 的值加上5:
            UPDATE stu 
            SET score=score+5
            WHERE id>900
        例6:有 Store_Information 表:
             store_name  Sales  Date
             Los Angeles  $1500  Jan-05-1999
             San Diego  $250  Jan-07-1999
             Los Angeles  $300  Jan-08-1999 
             Boston   $700  Jan-08-1999 
      我们发现说 Los Angeles 在01/08/1999 的营业额实际上是$500,而不是表格中所储存的$300,因此我们用以下的 SQL 语句来修改那一笔记录:
      UPDATE  Store_Information
      SET  Sales = 500
      WHERE  store_name = "Los Angeles"
      AND  Date = "Jan-08-1999" 
      现在 Store_Information 表的内容变成:
      store_name  Sales  Date 
      Los Angeles  $1500  Jan-05-1999
      San Diego  $250  Jan-07-1999
      Los Angeles  $500  Jan-08-1999
      Boston   $700  Jan-08-1999 
      在这个例子中,只有一个记录符合 WHERE 子句中的条件。如果有多个记录符合条件的话,每一个符合条件的记录都会被修改的。
二、更改记录里的多个字段
        语法:UPDATE  表名 
         SET  列1 = 新值1,
              [ 列2 = 新值2 , ]
              [ 列3 = 新值3 , ] ......
       [ WHERE 更新条件 ];
        注意其中使用的 SET,这里只有一个 SET,但是有多个列,每个列之间以逗号分隔。SQL 通常使用逗号来分隔不同类型的参数。
        例: UPDATE Students
         SET Sname='何梅', Sgrade=91, Ssex=0
         WHERE Scode=5;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值