第九节 表中记录的删除操作
一、删除语句的基本语法
在ACCESS SQL中删除记录的语句是“Delete”,其基本语法为:
Delete [table.*] FROM table Where criteria;
Table是要对其进行删除操作的表的名字,criteria是要进行记录筛选的条件表达式。相对其它的操作语句,删除语句相对比较简单,当我们需要删除表中的某些记录时非常有用。下面我们还是打开前面几节使用的“Test.accdb”数据库,用实例一说明此SQL命令的用法。
二、删除带有某一特定值的记录
有时候,表中的某些记录已失去意义,其描述的对象已不存在了,我们就要将其从表中清除,可以使用如下SQL语句:
Delete * FROM table Where criteria
例如,在“学生信息”表中,某个学生退学或死亡了,就不需要该生的记录了,我们就要将其清除掉,可以编写这样的SQL查询:
Delete * FROM 学生信息 Where 姓名 = ‘张三’;
我们先打开“学生信息”表,结果如图9-1所示:
图9-1:学生信息表的初始内容
观察后我们会发现有两条记录是多余的,就是“柳晶晶2”与“柳晶晶3”这两条,现在需要将其清除掉,我们使用如图9-2所示的SQL语句就能将这两条删除。
图9-2:删除一条记录的查询
我们再执行一次“Delete *
FROM 学生信息 Where 姓名 = "柳晶晶3";”,“学生信息”表的结果如图9-3所示:
图9-3:执行过删除查询后的表
三、清空一个表(删除所有记录)
清空一张表非常简单,只要用如下SQL语句就轻易完成:
Delete FROM table
或者用:
Delete * FROM table
例如,我们要清空前面示例数据库中的“学生信息”表,我们使用如图9-4所示的删除语句:
图9-4:删除表中全部记录的查询
该语句执行后,“学生信息”表打开后如图9-5所示,成了空的,即零条记录了:
图9-5:被清空的数据表
四、根据某字段值与另一表中的记录中字段值的关系删除记录
这是在具有相关联的多个数据库表中根据它们的关系即主键与外键的关系来处理表中的数据记录,就是通常我们说的连接查询。
在我们的示例数据库中有两张表,一个是“学生信息”表,内容如图9-6所示:
图9-6:学生信息表中的内容
另一个是“家长信息”表,如图9-7所示:
图9-7:家长信息表中的内容
这两张表之间存在着关联,即“家长信息”表中保存是“学生信息表”中学生的家长信息,用“学生编号”相关关联。观察我们会发现“家长信息”表中的有些记录在“学生信息”表中并没有对应的学生,所以要将其删除掉,我们可以用图9-8所示的删除语句执行些操作。
图9-8:用另一个表中的值进行删除的查询
删除查询执行后的“家长信息”表如图9-9所示,达到了删除的目的。
图9-9:关联删除后的结果