83、深入了解数据库查询与维护:Access 实战指南

深入了解数据库查询与维护:Access 实战指南

1. 数据库记录删除与查询概述

在处理由数据库管理员管理的复杂数据库时,通常需要特殊权限才能从表中删除记录。许多公司还会在删除记录之前对其进行存档,这样信息仍然可用,但不再是活动数据库的一部分。在完成对数据库的记录修改和删除更新后,接下来要从数据库中检索特定数据,以满足关于社区健康服务的各种信息需求。

查询是对数据库中存储的数据提出的问题。例如,要查找位于特定城市的患者记录。创建查询时,需要告诉 Access 所需的字段以及选择记录的标准。Access 提供了强大的查询功能,包括:
- 显示表中选定的字段和记录
- 对记录进行排序
- 执行计算
- 为表单、报表和其他查询生成数据
- 更新数据库表中的数据
- 查找并显示来自两个或多个表的数据

大多数关于数据的问题是通用查询,指定希望 Access 选择的字段和记录,这种常见的信息请求称为选择查询,其答案以数据表的形式返回,查询结果也称为记录集。

对于更专业、技术性的查询,如查找表中的重复记录,最好使用查询向导。查询向导会通过一系列问题提示你提供信息,然后根据你的答案创建适当的查询。而对于常见的信息查询,自己设计查询比使用查询向导更高效。

2. 创建并运行查询

默认的表数据表会按表中字段的原始顺序显示所有字段,而查询数据表可以显示表中选定的字段,且字段顺序可以与表不同,方便查看者只看到所需信息并按期望的顺序排列。

要为 Ethan 创建一个查询,显示患者表中每个记录的患者 ID、姓氏、名字、城市和电子邮件地址,可按以下步骤操作:
1. 打开设计视图的查询窗口
- 关闭导航窗格,以显示更多工作区。
- 点击功能区上的“创建”选项卡,Access 会显示创建不同数据库对象的选项。
- 在“查询”组中,点击“查询设计”按钮,“显示表”对话框将在设计视图的查询窗口中打开。该对话框列出了数据库中的所有表,可选择基于一个或多个表、其他查询或它们的组合来创建查询。此查询要从患者表中检索数据,所以需将该表添加到查询窗口。
- 在“表”列表中点击“患者”,点击“添加”按钮,然后点击“关闭”按钮。Access 会将患者表的字段列表放置在查询窗口中,并关闭“显示表”对话框。
- 若不小心添加了错误的表,可右键点击包含表名的字段列表顶部的栏,然后在快捷菜单中点击“移除表”。要添加正确的表,可点击“设计”选项卡上“查询设置”组中的“显示表”按钮,重新显示“显示表”对话框,然后重复上述添加表的步骤。
2. 选择查询字段并运行查询
- 将指针放在患者字段列表的底部边框上,直到指针变为特定形状,然后点击并向下拖动指针,直到字段列表中的垂直滚动条消失,显示患者表中的所有字段。虽然调整字段列表大小不是创建查询的必要步骤,但这样做能更方便地选择要包含在查询中的字段。
- 在患者字段列表中,双击“患者 ID”,将该字段放置在设计网格的第一列“字段”框中。在设计网格的第一列中,“字段”框显示字段名“患者 ID”,“表”框显示表名“患者”,“显示”复选框中的勾选标记表示运行查询时该字段将显示在数据表中。即使选择不显示某个字段及其值,仍可将该字段用作查询的一部分,以选择特定记录或指定数据表中记录的特定顺序。
- 也可通过点击设计网格中第二列“字段”框的右侧,显示包含患者表所有字段的菜单,然后点击“姓氏”,将该字段添加到设计网格的第二列。
- 用喜欢的方法按顺序添加“名字”、“城市”和“电子邮件”字段到设计网格。若不小心添加了错误的字段,可通过点击字段选择器(“字段”框上方的细条)选择该字段的列,然后按删除键(或在“设计”选项卡的“查询设置”组中点击“删除列”按钮)从网格中移除该字段。
- 点击“设计”选项卡上“结果”组中的“运行”按钮,Access 会运行查询并在数据表视图中显示结果。添加到设计网格的五个字段将按设计网格中的顺序显示在数据表中,记录按患者 ID 的主键顺序显示,Access 会从患者表中选择所有 51 条记录显示在查询数据表中。
- 点击快速访问工具栏上的“保存”按钮,在“查询名称”框中输入“患者电子邮件”,然后按回车键,Access 会以指定名称保存查询,并在查询选项卡上显示该名称。

3. 使用查询更新数据

查询数据表是临时的,其内容基于查询设计网格中的标准,但仍可使用查询数据表更新表中的数据。例如,在查看查询结果时发现患者 Nancy Fraser 的记录信息过时,她已结婚并更改了姓氏和电子邮件地址,可通过以下步骤使用“患者电子邮件”查询数据表更新数据:
1. 找到患者 ID 为 22523 的记录(查询数据表中的第 21 条记录)。
2. 在该记录的“姓氏”列中,双击“Fraser”选择该名称,然后输入“Bennett”。
3. 按三次 Tab 键移动到“电子邮件”列,输入“n.bennett@example.com”,然后按 Tab 键。
4. 关闭“患者电子邮件”查询,然后打开导航窗格,可看到“患者电子邮件”查询列在导航窗格的“查询”部分。

4. 向设计网格添加所有字段的方法比较

如果创建的查询包含指定表中的每个字段,可使用以下三种方法将所有字段从字段列表转移到设计网格:
|方法|操作|适用场景|优点|
| ---- | ---- | ---- | ---- |
|逐个字段添加|逐个字段从字段列表中双击(或点击并拖动)到设计网格|希望查询中的字段顺序与字段列表不同|可自定义字段顺序|
|双击星号|双击字段列表顶部的星号,Access 会在设计网格第一列的“字段”框中放置表名后跟句点和星号(如“患者.*”)|不需要对查询进行排序或根据以这种方式添加的表中的字段指定条件(例如,基于多个表的查询)|如果对基础表结构进行字段添加或删除操作,无需更改查询,更改会自动反映在查询中|
|拖动高亮字段|双击字段列表标题栏以高亮显示所有字段,然后点击并拖动其中一个高亮字段到设计网格的第一列,Access 会将每个字段放在单独的列中,并按字段列表中的顺序排列字段|需要对查询进行排序或包含记录选择条件|能满足排序和条件选择需求,且字段按原表顺序排列|

通过选择最合适的方法将所有表字段添加到查询设计网格,可以更高效地工作,并确保查询产生期望的结果。

5. 创建多表查询

多表查询是基于多个表的查询。要创建从多个表中检索数据的查询,这些表必须有一个公共字段。例如,患者表和就诊表基于公共的患者 ID 字段建立了关系,因此可以创建一个查询同时显示这两个表中的数据。Kelly 希望查看患者的就诊数据以及某些联系信息,具体要查看患者表中的城市、名字、姓氏字段和就诊表中的就诊日期、就诊原因字段。创建此查询的步骤如下:
1. 点击功能区上的“创建”选项卡。
2. 在“查询”组中,点击“查询设计”按钮,打开“显示表”对话框。
3. 在“表”列表中点击“患者”,点击“添加”按钮,再点击“就诊”,点击“添加”按钮,然后点击“关闭”按钮。患者和就诊字段列表将出现在查询窗口中,“显示表”对话框关闭。
4. 使用指针调整患者和就诊字段列表的大小,使每个列表中的所有字段都显示出来,垂直滚动条消失。两个表之间的一对多关系会在查询窗口中显示,与 Access 在“关系”窗口中显示表之间关系的方式相同。如果选择了实施引用完整性选项,连接线条两端会较粗;若未选择,连接线条两端会较细,且不会出现“1”或无穷大符号。
5. 在患者字段列表中,双击“城市”,将该字段放置在设计网格的第一列“字段”框中。
6. 重复上述步骤,将患者表中的“名字”和“姓氏”字段添加到设计网格的第二列和第三列。
7. 同样重复步骤,将就诊表中的“就诊日期”和“就诊原因”字段按顺序添加到设计网格的第四列和第五列。
8. 点击“设计”选项卡上“结果”组中的“运行”按钮,Access 会运行查询并在数据表视图中显示结果。数据表中只会显示患者表和就诊表中选定的五个字段,记录会根据患者 ID 字段的值排序,因为它是主表中的主键字段,即使该字段未包含在查询数据表中。

graph LR
    A[开始] --> B[打开查询设计视图]
    B --> C[添加患者表和就诊表]
    C --> D[调整字段列表大小]
    D --> E[选择字段添加到设计网格]
    E --> F[运行查询]
    F --> G[显示查询结果]
    G --> H[结束]

查询数据表看起来与表数据表相似,都以数据表视图显示,但查询数据表的内容是临时的,基于设计网格中建立的标准。每次运行查询时,显示的结果反映基础表中的当前数据。而表数据表显示表中的永久数据。不过,在查看查询数据表时也可以像在表数据表或表单中一样更新数据。

6. 查询操作中的注意事项与技巧

在进行数据库查询操作时,还有一些注意事项和实用技巧值得关注。

6.1 查询设计中的错误处理

在添加表到查询窗口时,如果不小心添加了错误的表,要及时纠正。如前文所述,可右键点击包含表名的字段列表顶部的栏,然后在快捷菜单中点击“移除表”。若要添加正确的表,可点击“设计”选项卡上“查询设置”组中的“显示表”按钮,重新显示“显示表”对话框,再进行添加操作。
在选择字段添加到设计网格时,若不小心添加了错误的字段,可通过点击字段选择器(“字段”框上方的细条)选择该字段的列,然后按删除键(或在“设计”选项卡的“查询设置”组中点击“删除列”按钮)从网格中移除该字段。

6.2 字段选择与显示控制

在设计查询时,“显示”复选框起着重要作用。即使选择不显示某个字段及其值,仍可将该字段用作查询的一部分,以选择特定记录或指定数据表中记录的特定顺序。例如,在创建查询列出位于特定城市的所有患者时,若查询名为“特定城市患者”,可能不需要在查询结果中显示“城市”字段的值,但该字段可用于筛选符合条件的记录。

6.3 查询结果的排序

默认情况下,查询结果可能按主键顺序显示,但也可以根据需求对查询结果进行排序。在设计网格中,可在“排序”行中为每个字段指定排序顺序,如升序或降序。这有助于更清晰地查看和分析数据。

7. 不同类型查询的应用场景

不同类型的查询在实际应用中有不同的用途,下面详细介绍几种常见查询的应用场景。

查询类型 应用场景 示例
选择查询 从数据库中检索满足特定条件的数据 查找位于特定城市的患者记录、统计已支付的发票数量
多表查询 需要同时查看多个表中的相关数据 查看患者的就诊数据以及其联系信息,涉及患者表和就诊表
更新查询 对数据库中的数据进行批量更新 使用查询数据表更新患者的姓氏和电子邮件地址
8. 优化查询性能的方法

为了提高查询的性能,可采取以下方法:

8.1 合理选择字段

在设计查询时,只选择需要的字段,避免选择不必要的字段。这样可以减少数据的传输和处理量,提高查询速度。例如,若只需要患者的姓名和城市信息,就不要选择其他无关字段。

8.2 建立索引

对于经常用于查询条件的字段,可建立索引。索引可以加快数据的查找速度,提高查询性能。例如,若经常根据患者 ID 进行查询,可在患者 ID 字段上建立索引。

8.3 优化查询条件

在设置查询条件时,尽量使用简单、明确的条件。避免使用复杂的嵌套条件或模糊查询,以免影响查询性能。例如,使用精确的日期范围查询比使用模糊的日期条件更高效。

9. 总结

通过以上内容,我们深入了解了数据库查询与维护的相关知识,包括数据库记录删除的注意事项、查询的创建与运行、使用查询更新数据、多表查询的创建以及优化查询性能的方法等。在实际应用中,要根据具体需求选择合适的查询类型和操作方法,同时注意查询设计中的细节和性能优化,以提高工作效率和数据处理的准确性。

graph LR
    A[选择查询类型] --> B[设计查询条件]
    B --> C[添加表和字段]
    C --> D[运行查询]
    D --> E{查询结果是否满足需求}
    E -- 是 --> F[保存查询]
    E -- 否 --> G[调整查询设计]
    G --> B

在数据库操作的过程中,不断积累经验,熟练掌握各种查询技巧和方法,才能更好地管理和利用数据库中的数据,为实际工作提供有力支持。

相关推荐

Silverlight Bing Maps遗留系统维护与迁移实战指南

Silverlight和Bing Maps作为早期Web地理信息开发的核心技术栈,虽已停止官方支持,但仍在大量政企关键业务系统中稳定运行。其技术原理基于插件化富客户端架构、WCF RIA Services数据绑定及V7 SDK离线地图渲染机制,具备强稳定性与低运维侵入性。在现代Windows环境(Win10/11 IE模式)下,通过.NET Framework版本控制、CDN资源离线化、DOM容器劫持等工程手段可实现可靠复现。技术价值在于支撑百万级点位热力图、自定义空间索引查询与混合架构平滑演进,广泛应用于

ciyinzhi8788的博客 318

BigQuery数据仓库实战:分区聚簇物化视图与成本优化

BigQuery作为云原生列式分析引擎,其核心能力不在于替代传统数据库,而在于依托无服务器计算、自动分片和深度存储优化实现高并发低延迟分析。理解其底层机制——如分区裁剪、CLUSTER BY物理布局、物化视图增量刷新——是构建高性能数仓的前提。技术价值体现在查询加速(秒级响应)、成本可控(按扫描字节计费)与运维极简(免集群管理)。典型应用场景包括TB级日志分析、实时BI看板支撑及千人级并发报表服务。本文聚焦BigQuery生产环境中的关键实践:如何通过合理分区(PARTITION BY event_time

weixin_33794672的博客 450

Ubuntu 12.04部署Yii 1.1实战:遗留系统维护与安全加固指南

Yii框架作为经典的PHP MVC轻量级框架,其松耦合架构与清晰路由设计,天然适配资源受限、升级受阻的老旧生产环境。在PHP 5.3与Apache 2.2等陈旧技术栈下,Yii 1.1.x仍具备高稳定性与可维护性,核心价值在于支撑金融、政务、工业控制等关键场景的渐进式改造。本文聚焦真实产线中的兼容性校验、扩展依赖修复(如PDO/MySQLi切换)、.htaccess语法降级、权限固化(chown+SGID)及AppArmor安全加固等关键技术点,覆盖从环境诊断、框架安装到故障排查的全链路实践。尤其针对Ubu

weixin_34216196的博客 402

Claude本地代理部署指南:Token管理与安全网关实战

Claude大模型API采用严格的OAuth 2.0认证机制,其Access Token仅60分钟有效、Refresh Token单次使用且7天过期,并深度绑定IP地域与设备指纹——这决定了直接调用不可靠,必须构建具备自动刷新、持久化存储和流量中转能力的本地代理网关。该方案本质是轻量级API网关,技术栈以Python FastAPI + Docker + MySQL为核心,解决企业内网接入、跨地域访问受限、非技术人员友好使用等真实场景痛点。本文聚焦Claude Token生命周期管理与生产级代理服务搭建,涵

weixin_34005042的博客 323

2024 HW实战:高频漏洞深度解析与系统化防御指南

在网络安全领域,漏洞管理与修复是保障系统安全的核心环节。其原理在于识别软件或配置中的缺陷,攻击者利用这些缺陷可实施未授权访问、数据窃取或服务中断。有效的漏洞管理技术价值巨大,不仅能直接防御攻击,更是构建安全开发生命周期(SDL)和纵深防御体系的基础。应用场景广泛覆盖Web应用、中间件、供应链及云原生环境。本文聚焦实战,针对Nacos未授权访问、SourceMap文件泄露、文件上传绕过等高频热词漏洞,提供从原理分析、复现到加固的完整解决方案,并融入Spring Boot事务失效、分布式定时任务调度等工程实践,

weixin_34072458的博客 455

Hermes Agent跨版本迁移:GitLab 11→18与Redmine 4→6双系统升级实战

在企业级DevOps平台升级中,跨主版本迁移(如GitLab 11→18、Redmine 4→6)面临数据库结构断层、权限模型重构、字段语义漂移等核心挑战。其本质是状态一致性问题,而非单纯版本替换——需在源与目标系统间建立可验证的语义映射和变更追溯能力。Hermes Agent作为轻量级状态协调器,通过WAL日志捕获、快照式对象映射与分阶段协调执行,解决API延迟高、配置丢失、插件兼容性差等工程痛点。本文聚焦真实产线约束下的可落地方案,涵盖Docker编排、PostgreSQL逻辑复制配置、Redmine多

weixin_30888413的博客 342

82、数据库维护与查询:以医疗服务为例

本文以查塔姆社区健康服务中心为例,详细介绍了医疗服务领域中数据库的维护与查询操作。内容涵盖数据的修改、删除与查找,查询设计视图的使用,精确匹配与范围查询,And/Or逻辑运算符的应用,以及计算字段和聚合函数的创建。同时讲解了数据表格式优化、记录分组统计和导航窗格显示设置,帮助用户高效管理医疗数据,确保信息的准确性与完整性,为业务决策提供支持。

linux6sysadmin的博客 47

【信息科学与工程学】【数据科学】第五十一篇 数据仓库00 基础设计01

数据仓库设计的系统性解决方案,涵盖架构模式、分层设计、百万级访问支撑、海量数据配置及与数据库/数据湖的对接策略: ​​ODS(操作数据层)​​:原始数据镜像,保留历史快照 ​​DWD(明细数据层)​​:清洗、标准化、维度退化 ​​DWS(汇总数据层)​​:主题宽表、轻度聚合 ​​ADS(应用数据层)​​:高度聚合,面向报表/API ​​二、百万用户访问架构设计​​ ​​1. 核心架构组件​​ ​​2. 关键配置参数(以Snowflake为例)​​ ​​3. 性能优化措

weixin_49199313的博客 1201

别再手动折腾了!PICO Unity SDK 一键配置开发环境保姆级教程(含PDC串流调试)

本文详细介绍了PICO Unity SDK的一键配置功能,帮助开发者快速搭建VR开发环境。通过自动化配置流程,大幅减少手动设置时间,提升开发效率。文章还涵盖了PDC串流调试技巧和常见问题解决方案,是PICO VR开发的实用指南。

weixin_30335575的博客 447

基于osgEarth的二维态势中时变对象的绘制方法

在态势系统中,卫星、飞机的轨迹、覆盖等的几何数据随时间改变,称之为时变对象。在以OSGEarth实现的二维态势中,如果利用OSGEarth的预定义线、面类型处理这种几何数据的动态改变,则导致效率极具降低。介绍了此问题并给出解决技巧。

eyepeak的博客 2090

VMware Workstation 17 Pro 保姆级教程:手把手教你安装银河麒麟 Kylin V10 SP3 国产系统

本文提供VMware Workstation 17 Pro安装银河麒麟Kylin V10 SP3的详细教程,涵盖环境准备、虚拟机配置、系统安装及优化全流程。通过分步指导和实用技巧,帮助用户高效搭建国产操作系统开发测试环境,特别适合技术自主可控需求场景下的虚拟化实践。

weixin_30879169的博客 645

21、二维卷积层(convolution2dLayer)的全面解析

本文全面解析了二维卷积层(convolution2dLayer)的原理、属性和应用,详细介绍了其在深度学习中的作用及实现方法。文章涵盖创建卷积层的语法、参数设置、算法原理、输入输出格式、优化策略以及实际应用案例,旨在帮助读者更好地理解和应用二维卷积层构建高效的深度学习模型。

red88的博客 313

华为OD机试真题 新系统【小花获胜的奶茶】

华为OD机试真题 新系统【小花获胜的奶茶】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【小花获胜的奶茶】多语言题解。

qq_45776114的博客 382

Unity GameObject 核心机制深度解析:从底层结构到工程实践

从底层机制讲透 Unity GameObject:托管壳加原生芯的双层对象模型如何制造假 null 陷阱、Transform 层级与组件通信的原理、生命周期回调的确切顺序。文章同时给出 Instantiate 成本分析与对象池等高频场景的工程实践。

游戏人生 39

第32篇:Vibe Coding时代:LangGraph + Redis 任务状态持久化实战,解决服务重启后任务状态丢失问题

LangGraph + Redis任务状态持久化方案 本文针对Agent任务状态丢失问题,提出基于Redis的持久化解决方案。当服务重启时,传统内存存储方式会导致任务状态丢失,影响用户体验和运维排查。 核心方案 使用Redis Hash存储任务状态,key格式为agent:task:{task_id} 设计完整状态字段包括task_id、status、progress等关键信息 实现task_store模块提供CRUD操作接口 在Agent执行各节点更新Redis中的任务状态 技术实现 通过Celery执行

sundong_81的博客 41

YOLOv11 | 一文带你深入理解ultralytics最新作品yolov11的创新 | 训练、推理、验证、导出 (附网络结构图)

ultralytics发布了最新的作品YOLOv11,这一次YOLOv11的变化相对于ultralytics公司的上一代作品YOLOv8变化还是很大的(YOLOv9、YOLOv10均不是ultralytics公司作品),其中改变的位置涉及到C2f变为C3K2,在SPPF后面加了一层类似于注意力机制的C2PSA,还有一个变化大家从yaml文件是看不出来的就是它的检测头内部替换了两个DWConv,在损失函数方面就没有变化了还是采用的CIoU作为边界框回归损失,下面带大家深入理解一下ultralytics最新作品

Snu77的博客 18万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 82、数据库维护与查询:以医疗服务为例
下一篇: 84、数据库维护与查询:排序和筛选操作指南
linux6sysadmin
博客等级 码龄4年 59粉丝 1615原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值