数据库管理:操作数据 (18.2)

你好!数据库不仅是存储信息的地方,更是让这些信息发挥价值的强大工具。本章将带你了解如何向数据库发送指令,以便它能自动计算出新的数值、将数据进行排序,并精确找到你所需要的记录。

你可以把这想象成学习如何与数据库“对话”,让它替你完成繁重的工作!

1. 在数据库中执行计算

数据操作往往始于数学计算。我们通过计算生成有用的信息,而这些信息在原始表格中并未直接录入。

1.1 计算字段与计算控件

当你设计数据库报表或查询时,可以指示系统对现有字段进行计算。计算结果会显示在一个新的区域中,在查询中称为计算字段 (calculated field),在窗体或报表中则称为计算控件 (calculated control)

例如: 如果你有一个 [单价] 字段和一个 [数量] 字段,你可以创建一个名为 [总价] 的计算字段。

公式: [总价] = [单价] * [数量]

1.2 公式与函数

我们主要使用两种工具来执行计算:

公式 (Formulae):

涉及对字段名或数值应用基础算术运算。

  • 加法: +
  • 减法: -
  • 乘法: *
  • 除法: /

函数 (Functions):

这是一些预设的命令,可以快速执行复杂或重复的任务,通常涉及整列数据。你需要掌握以下关键的聚合函数:

  • SUM: 计算数值字段中所有值的总和(例如:所有销售额的总和。)
  • AVERAGE (AVG): 计算字段中数值的平均值。
  • MAXIMUM (MAX): 找出数值字段中的最大值(例如:最高考试成绩。)
  • MINIMUM (MIN): 找出数值字段中的最小值(例如:最便宜的商品价格。)
  • COUNT: 统计符合特定条件的记录总数。(例如:统计 A 班有多少名学生。)
快速回顾:计算

计算字段使用公式(基础算术)或函数(聚合运算)从现有字段生成新数据。

2. 数据排序(记录的排列)

排序是指将数据按特定顺序排列,使其更易于阅读和分析。

2.1 升序与降序
  • 升序 (Ascending Order): 数据从最小到最大排列。
    • 数字:1, 2, 3...
    • 文本:A, B, C...
    • 日期:从旧到新。
  • 降序 (Descending Order): 数据从最大到最小排列。
    • 数字:...3, 2, 1
    • 文本:Z, Y, X...
    • 日期:从新到旧。
2.2 多重条件排序

有时,仅按一个字段排序是不够的。你经常需要按多个条件进行排序。

数据库首先按主要排序键 (primary sort key) 进行排序,如果主要排序键的数值相同,则会使用次要排序键 (secondary sort key) 来进行区分。

例如: 如果你要排序学生名单:

  1. 先按 [班级] 升序排列(主要键)。
  2. 再按 [姓氏] 升序排列(次要键)。

结果:所有 1A 班的学生会排在一起,在班级内部,他们的名字会按姓氏的字母顺序排列。

3. 使用查询搜索和筛选数据

查询 (query) 本质上就是你向数据库提出的问题。它允许你选择符合特定要求(即准则/条件 - criteria)的记录子集(即筛选后的一小部分记录)。

3.1 设置筛选条件

准则就是你设置的规则,用以决定哪些记录应该被显示出来。

例如: 查找所有 [城市] 为“伦敦”且 [余额] 超过 500 的客户。

如果起初觉得这有点难,别担心,熟能生巧!主要的难点在于选择正确的运算符。

3.2 比较运算符

这些运算符用于将字段值与准则值(如数字或文本)进行对比。

  • = (等于):查找字段值与准则完全一致的记录。
  • > (大于):查找比准则大的记录。(例如:>100)
  • < (小于):查找比准则小的记录。(例如:<50)
  • >= (大于等于)
  • <= (小于等于)
  • <> (不等于):查找字段值与准则不相等的记录。

你知道吗? 通常你不需要输入“=”号;大多数数据库软件默认就是等于,除非你特别指定(例如,如果你在准则行只输入 'London',它会自动理解为 =[London])。

4. 查询中的逻辑运算符与特殊运算符

当你需要使用不止一个准则时,可以使用逻辑运算符(AND, OR, NOT)将它们连接起来。

4.1 AND 运算符(严格规则)

当记录必须同时满足所有条件才会被选中时,使用 AND 运算符。

类比: 你需要个子高 AND 速度快才能加入篮球队。如果你个子高但速度不快,就无法入选。

在数据库中,由 AND 连接的条件通常放置在查询设计网格的同一行中。

示例条件: [性别] = '男' AND [年龄] >= 18
仅选择 18 岁及以上的男性。

4.2 OR 运算符(灵活规则)

当记录只需满足条件中的至少一个即可被选中时,使用 OR 运算符。

类比: 你可以用信用卡 OR 现金付款。只要有其中一种方式,你就可以完成支付。

在数据库中,由 OR 连接的条件通常放置在不同的行(通常标记为“条件”和“或”)中。

示例条件: [部门] = '销售部' OR [部门] = '市场部'
选择在销售部工作的员工,或者在市场部工作的员工,或者两者皆是(尽管通常一名员工只属于一个部门)。

4.3 NOT 运算符(排除规则)

NOT 运算符用于排除满足特定条件的记录。

示例条件: NOT [国家] = '美国'
选择国家不是美国的所有记录。

4.4 LIKE 运算符与通配符

LIKE 运算符用于在文本字段中查找部分匹配的内容。你需要配合 通配符 (wildcards) 使用 LIKE 运算符。

通配符是一个代表一个或多个未知字符的特殊符号。具体使用的通配符取决于你所用的软件,但最常见的有两个:

  • * (星号): 代表任意数量的字符(零个或多个)。
  • ? (问号): 代表单个字符。

通配符的使用示例:

  • 条件: LIKE "S*"
    含义: 查找所有以字母“S”开头的条目(例如:Smith, Sanchez, Silver)。
  • 条件: LIKE "*ton"
    含义: 查找所有以“ton”结尾的条目(例如:Newton, Brighton, Dalton)。
  • 条件: LIKE "R??a"
    含义: 查找以“R”开头且以“a”结尾的四个字母的单词(例如:Rita, Rosa)。
  • 条件: LIKE "*@cambridge.org"
    含义: 查找 cambridge.org 域名的所有电子邮件地址。
数据操作要点回顾

数据操作的核心在于转换与筛选。使用算术运算来计算总额和生成新值,使用函数(SUM, AVG 等)进行汇总,使用排序来整理顺序,并通过查询(结合条件、逻辑运算符和通配符)来获取精确的数据子集。