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语句。
上一篇:[转]SE43 修改SAP标准菜单、登陆界面、背景图片


下一篇:【OCP题库】最新CUUG OCP 12c 071考试题库(65题)