本文介绍如何使用更新查询和删除查询从 Microsoft Office Access 2007 数据库中删除数据。您可以使用更新查询来删除数据库记录中的单个字段,如果需要删除数据库中的整条记录(包括唯一标识记录的键值),则可以使用删除查询。在操作的过程中,请记住,Access 还提供了多种手动删除部分或整条记录的方法。
有关手动删除记录的详细信息,请参阅从数据库中删除一条或多条记录一文。
本文内容
了解如何使用查询删除数据
可以使用两类查询来删除 Access 数据库中的数据。具体使用哪种查询取决于要执行的删除的类型。
- 如果需要删除一个或多个表中的记录的个别字段,您可以使用更新查询将现有值更改为空值(即不包含数据)或零长度字符串(中间不包含空格的一对双引号)。
您需要使用更新查询来删除个别字段中的数据,因为在默认情况下,删除查询仅删除整行。使用更新查询“删除”数据的过程包含以下主要步骤:创建一个选择查询并确保该查询仅返回您要删除的数据。然后将此查询转换为更新查询,并使用 NULL 值或零长度字符串作为更新值,再运行查询以更新现有数据。
- 如果需要删除整条记录(行),您可以使用删除查询。
默认情况下,删除查询将删除每个字段中的所有数据,包括唯一标识记录的键值。运行该查询时,它始终会从表中删除整个行。此过程包括以下主要步骤:创建一个选择查询并确保该查询返回您要删除的记录,然后将此查询转换为删除查询,并运行该查询以删除数据。
进行操作时,请记住:如果要删除的记录位于一对多关系的“一”端,必须先更改关系的属性,然后才能运行查询,本文后面的准备删除相关数据一节介绍了如何执行此任务。您还必须进行其他一些更改才能执行删除操作,因为默认情况下,Access 禁止删除一对多关系的“一”端中的数据。
如果需要了解有关一对多关系的详细信息,请参阅文章数据库设计基础和创建、编辑或删除关系。
此外,还请记住:更新或删除部分或整条记录后,将不能撤消更改,因此,运行删除查询之前,应始终先备份数据。有关详细信息,请参阅本文后面的备份数据库。
以下各节中的步骤介绍了如何创建更新查询以删除单个字段中的数据;以及如何创建删除查询以删除整条记录。
注释 通常,只有当需要快速更改或删除大量数据时,才使用更新查询和删除查询。如果只需要删除少量记录(便于手动删除的任何数量),您可以在数据表视图中打开表,选择要删除的字段或行,然后按 Delete。
有关删除数据的其他方法的详细信息,请参阅从数据库中删除一条或多条记录一文。
计划删除
使用查询删除记录的过程包括以下一般步骤:
- 计划删除。确保您具有删除数据所需的权限,确保所有其他用户已关闭使用受影响的表的所有对象,然后备份数据库。
- 确保数据库位于可信任的位置,或者已对数据库进行数字签名。如果这两个条件都不满足,则您可以选择只信任当前会话的数据库。请记住,默认情况下,Access 将阻止所有动作查询(包括删除查询、更新查询和生成表查询),除非您先信任数据库。有关信任数据库的信息,请参阅本文后面的防止禁用模式阻止查询一节。
- 如果要删除多个表中的数据,而这些表之间相互关联,则需要针对每种关系启用“参照完整性”和“级联删除相关记录”选项。这使您的查询可以删除位于关系的“一”端和“多”端的表中的数据。
- 创建一个选择查询,然后根据需要添加条件,直到查询返回正确的记录集。
- 如果要删除表中的单个字段,请将选择查询转换为更新查询,输入 NULL 或零长度字符串 ("") 作为更新条件,然后运行查询。
- 如果要删除整条记录,请将选择查询转换为删除查询,然后运行查询。
常规准备
在从数据库中删除部分或整条记录之前,请执行以下任务: