SQL必知必会(第五版) 第16课:更新和删除数据

这篇博客介绍了如何使用SQL的UPDATE和DELETE语句来更新和删除数据。UPDATE语句用于修改表中的特定行或所有行,必须包含WHERE子句以指定更新条件。DELETE语句则用于从表中删除特定行或所有行,同样需要WHERE子句来过滤要删除的行。示例展示了如何更新美国地址的状态为大写,以及如何删除特定的客户记录。
摘要由CSDN通过智能技术生成

目录

16.1 更新数据 (UPDATE语句)

16.2 删除数据 (DELETE语句)

16.5 挑战题 


【注意】一下UPDATE语句和DELETE语句都不要省略过滤语句WHERE

16.1 更新数据 (UPDATE语句)

两种使用UPDATE的方式:

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

基本的UPDATE语句由三部分组成:

①要更新的表

②列名和它们的新值

③确定要更新哪些行的过滤条件

--更新单列--
UPDATE customers
SET cust_email = 'yrx163@163.com'
WHERE cust_id = 1000000005;

【语句释义】

UPDATE语句总是以要更新的表名开始,SET命令用来将新值赋给被更新的列,UPDATE语句以WHERE子句结束,它告诉DBMS更新哪一行。

--更新多列--
UPDATE customers
SET cust_contact = 'Sam Roberts',
    cust_email = 'sam@163.com'
WHERE cust_id = 1000000006;

【语句释义】 

在更新多个列时,只需要使用一条SET命令,每个“列=值”对之间用都好分隔

UPDATE customers
SET cust_email = NULL
WHERE cust_id = 1000000005;

【语句释义】

若要删除某个列的值,可设置它为NULL。

16.2 删除数据 (DELETE语句)

两种使用DELETE的方式:

  • 从表中删除特定的行
  • 从表中删除所有行
DELETE FROM customers
WHERE cust_id = 1000000006;

【语句释义】

DELETE FROM要求指定从中删除数据的表名,WHERE子句要过滤要删除的行。 

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

16.5 挑战题 

1. 美国各州的缩写应始终用大写。编写SQL语句来更新所有美国地址,包括供应商状态(Vendor表中的vend_state)和顾客状态(Customers表中的cust_state),使它们均为大写。

UPDATE vendors
SET vend_state = UPPER(vend_state)
WHERE vend_country = 'USA';

UPDATE customers
SET cust_state = UPPER(cust_state)
WHERE cust_country = 'USA';

2. 第15课的挑战题1要求你将自己添加到customers表中。现在请删除自己。确保使用WHERE子句(在DELETE中使用它之前,先用SELECT对其进行测试),否则你会删除所有顾客。 

--先查看是否是自己要删除的信息--
SELECT * FROM customers
WHERE cust_id = 001;

-- 删除cust_id为001的顾客(上节课插入了一个cust_id为001的用户)--
DELETE FROM customers
WHERE cust_id = 001;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值