SQL必知必会 第16课 更新和删除数据

16.1 更新数据

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

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

注意不要省略where子句,否则就会更新表中所有行。

基本的update语句有三部分组成:

  • 要更新的表
  • 列名和它们的新值
  • 确定要更新那些行的过滤条件
# 更新数据
SET SQL_SAFE_UPDATES = 0;
update customers 
set cust_email = 'kim@thetoystore.com'
where cust_id = 1000000005;
# 更新多个列,只需要使用一条set命令
update customers 
set cust_contact = 'Sam Roberts',
	cust_email = 'sam@toyland.com'
where cust_id = 1000000006;

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

# 删除某个列的值,设置它为NULL
update customers 
set cust_email = NULL 
where cust_id = 1000000005;

16.2 删除数据

使用DELETE语句。有两种delete方式:

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

注意不要省略where否则就会删除所有行

# 删除数据 
# 从表中删除特定的行 
delete from customers 
where cust_id = 1000000006;

# 从表中删除所有行,省略where子句 ,它将删除表中每个顾客。

16.3 更新和删除的指导原则

  • 除非确实要更新或删除每一行,否则绝对不要使用不带where子句的update或delete语句。
  • 保证每个表都有主键,这样就可以通过where子句指定特定的行
  • 在update或delete语句使用where子句前,应该先用select测试保证需要操作的是正确的记录
  • 使用强制实施引用完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的行。
  • 有的DBMS允许数据库管理员施加约束,防止执行不带where子句的update或delete语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值