SQL - 更新数据(UPDATE)

本章,介绍如何利用UPDATE进一步操纵表数据。

更新数据

为了更新(修改)表中的数据,可以使用UPDATE语句。可采用两种方式使用UPDATE:
更新表中特定行。
更新表中所有行。

下面分别对它们进行介绍。

不要省略WHERE子句 在使用UDDATE时一定要注意细心。因为稍不注意,就会更新表中所有行。
UPDATE与安全 在客户机/服务器的DBMS中,可能需要特殊的安全权限。在你试图使用UPDATE前,应该保证自己有足够的权限。

基本的UPDATE语句由三部分组成,分别是:
要更新的表
列名和它们的新值
确定要更新哪些行的条件

举一个简单例子。客户1000000005现在有了电子邮件,因此它的记录需要更新,语句如下:
UPDATE Customers
SET cust_email = ‘kim@thetoystore.com’
WHERE cust_id = ‘1000000005’;

UPDATE语句总是以要更新的表的名字开始。在此例子中,要更新的表的名字为Customers。SET命令用来将新值赋给被更新的列。如这里所示,SET子句设置cust_eamil列为指定的值:
SET cust_email = ‘kim@thetoystore.com’

UPDATE语句以WHERE子句结束,它告诉DBMS更新哪一行。没有WHERE子句,DBMS将会用这个电子邮件更新Customers表中所有行,这并不是我们所希望的。

更新多个列的语法稍有不同:
UPDATE Customers
SET cust_contact = ‘Sam Roberts’,
cust_email = ‘sam@toyland.com’
WHERE cust_id = ‘1000000006’;

更新多个列时,只需要使用单个SET命令,每个‘列=值’对之间使用逗号分隔(最后一列之后不用逗号)。在此例子中,更新客户1000000006的cust_contact和cust_email 列。

在UPDATE语句中使用子查询 UPDATE语句中可以使用子查询,使得能用SELECT语句检索出的数据列更新列数据。
FROM关键字 有的SQL实现在UPDATE语句中支持使用FROM子句,它用来自一个表的数据更新另外一个表的行

为了删除某个列的值,可设置它为NULL(假定表定义允许NULL值)。如下进行:
UDATE Customers
SET cust_emain = NULL
WHERE cust_id = ‘1000000005’;
其中NULL用来去除cust_email列中的值。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值