• 任务描述
  • 相关知识
  • 删除表中的指定行
  • 删除表中的所有行
  • 编程要求
  • 测试说明

任务描述

喂一句心灵鸡汤:人生,从来都没有 delete 键,你能做的,只有负重前行,心向阳光。

真的是这样吗?至少在虚拟世界,后悔药是有的卖的,你是可以重新来过的。

本关就为各位提供上帝视角般的 delete 键,接下来我们会重点介绍数据的删除(DELETE)。

相关知识

使用 DELETE 语句可以从表中删除数据。 DELETE 的两种用法如下所示:

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

删除表中的指定行

DELETE FROM 后面需要你指定删除内容所在的, WHERE 语句是过滤语句,它用来帮你寻找哪条内容是你想要删除的。在下面的例子中,只有消费者 1000000006 的内容才会被删除。

DELETE FROM Customers WHERE cust_id=1000000006

目前原始表有两条内容:

expireAfterSeconds 删除的是数据还是索引 删除数据delete_数据库

我们运行一遍 DELETE 语句看看效果!

expireAfterSeconds 删除的是数据还是索引 删除数据delete_mysql_02

运行后我们成功地删除了 Toy Land 的数据。

删除表中的所有行

DELETE FROM Customers

如果需要删除表中所有的行,只需要省略 WHERE 语句即可。

expireAfterSeconds 删除的是数据还是索引 删除数据delete_补全_03

数据的删除就介绍到这里了,是不是跃跃欲试呢?

编程要求

根据右侧提示补全语句,具体编程任务是:

  • 补全右侧代码片段中 create database 下 Begin-End 区间的代码,用来建立数据库 website ;
  • 补全右侧代码片段中 create table 下 Begin-End 区间的代码,用来建立空表 shopping ,其中表结构如下图所示:

expireAfterSeconds 删除的是数据还是索引 删除数据delete_补全_04

  • 补全右侧代码片段中 insert 下 Begin-End 区间的代码,用来插入内容 amazon ,具体内容如下表所示: (我们已经事先帮你插入了内容 eBay ,所以你只要关注 amazon 的插入即可)

expireAfterSeconds 删除的是数据还是索引 删除数据delete_数据库_05

  • 补全右侧代码片段中 delete 下 Begin-End 区间的代码,用来删除内容 eBay 。

小提示

如果我们使用语句:

create TABLE shopping
(
ID int IDENTITY(1,1) not null
)

会使字段 ID 的数字自增。本关要求同学们使用该语句,但同学们插入内容的时候,请不要给字段 ID 赋值,因为它自己会自增!

测试说明

测试过程:

  • 本关涉及到的测试文件是 test2.shell ,平台将运行用户补全的 step2.sql 文件,得到数据;
  • 将得到的数据与答案比较,判断代码是否正确。

如果操作正确,你将得到如下的结果:

expireAfterSeconds 删除的是数据还是索引 删除数据delete_mysql_06


开始你的任务吧,祝你成功!

实验代码

expireAfterSeconds 删除的是数据还是索引 删除数据delete_数据_07

expireAfterSeconds 删除的是数据还是索引 删除数据delete_补全_08