zoukankan      html  css  js  c++  java
  • 第16课 更新和删除数据

    第16课 更新和删除数据

    16.1 更新数据

    更新(修改)表中的数据,可以使用UPDATE语句。有两种使用UPDATE的方式:

    • 更新表中的特定行;
    • 更新表中的所有行。

    警告:不要省略WHERE子句
    在使用UPDATE时一定要细心。因为稍不注意,就会更新表中的所有行。

    使用UPDATE语句非常容易,甚至可以说太容易了。基本的UPDATE语句由三部分组成,分别是:

    • 要更新的表;
    • 列名和它们的新值;
    • 确定要更新哪些行的过滤条件。

    客户1000000005现在有了电子邮件地址,因此他的记录需要更新,语句如下:

    UPDATE Customers
    SET cust_email = 'kim@thetoystore.com'
    WHERE cust_id = '1000000005';
    

    更新多个列的语法稍有不同:

    UPDATE Customers
    SET cust_contact = 'Sam Roberts',
        cust_email = 'sam@toyland.com'
    WHERE cust_id = '1000000006';
    

    在更新多个列时,只需要使用一条SET命令,每个“列=值”对之间用逗号分隔(最后一列之后不用逗号)。

    要删除某个列的值,可设置它为NULL(假如表定义允许NULL值)。

    UPDATE Customers
    SET cust_email = NULL
    WHERE cust_id = '1000000005';
    

    16.2 删除数据

    有两种使用DELETE的方式:

    • 从表中删除特定的行;
    • 从表中删除所有行。

    警告:不要省略WHERE子句
    在使用DELETE时一定要细心。因为稍不注意,就会错误地删除表中所有行。

    下面的语句从Customers表中删除一行:

    DELETE FROM Customers
    WHERE cust_id = '1000000006';
    

    DELETE不需要列名或通配符。DELETE删除整行而不是删除列。要删除指定的列,请使用UPDATE语句。

    说明:删除表的内容而不是表
    DELETE语句从表中删除行,甚至是删除表中所有行。但是,DELETE不删除表本身。

    提示:更快的删除
    如果想从表中删除所有行,不要使用DELETE。可使用TRUNCATE TABLE语句,它完成相同的工作,而速度更快(因为不记录数据的变动)。

    16.3 更新和删除的指导原则

    下面是许多SQL程序员使用UPDATE或DELETE时所遵循的重要原则。

    • 除非确实打算更新和删除每一行,否则绝对不要使用不带WHERE子句的UPDATE或DELETE语句。
    • 在UPDATE或DELETE语句使用WHERE子句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确。

    若是SQL没有撤销(undo)按钮,应该非常小心地使用UPDATE和DELETE,否则你会发现自己更新或删除了错误的数据。

    16.4 小结

    这一课讲述了如何使用UPDATE和DELETE语句处理表中的数据。

  • 相关阅读:
    函数式宏定义与普通函数
    linux之sort用法
    HDU 4390 Number Sequence 容斥原理
    HDU 4407 Sum 容斥原理
    HDU 4059 The Boss on Mars 容斥原理
    UVA12653 Buses
    UVA 12651 Triangles
    UVA 10892
    HDU 4292 Food
    HDU 4288 Coder
  • 原文地址:https://www.cnblogs.com/zhangsonghui/p/13302235.html
Copyright © 2011-2022 走看看