版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1走进Access2019《数据库应用基础(Access2019)》项目目标理解数据库基本概念掌握启动和退出Access2019的方法认识Access数据库对象了解Access2019用户界面了解Access数据库的构成部件本章目录01任务1.1理解数据库02任务1.2认识Access2019用户界面03任务1.3认识Access数据库对象理解数据库1.1任务1.1理解数据库–1/3什么是数据库长期存储在计算机内、有组织的、可共享的数据集合特点:按数据结构组织,冗余小,独立性高,易扩展,多用户共享示例:人事部门的职工信息表关系数据库采用关系模型(二维表)组织数据表:行和列组成的二维结构记录(元组):表中的一行字段(属性):表中的一列域:字段的取值范围主键:唯一标识记录的字段或组合关系模式:表名(字段1,字段2,...)通过表间关系减少数据冗余任务1.1理解数据库–2/3数据库管理系统(DBMS)管理数据库的软件,提供用户与数据库的接口功能:数据定义、处理、安全控制常见DBMS:SQLServer、MySQL、AccessAccess2019简介Windows平台的关系数据库管理系统提供设计工具:表设计器、窗体设计器、查询设计器、报表设计器等支持数据类型:文本、数字、图片、声音、动画等主要操作:添加、编辑、删除、组织、共享数据数据库文件格式:.accdb或.mdb数据库系统的组成数据库:存储的数据集合软件:操作系统、DBMS、应用程序等数据库管理员:监控和维护数据库用户:操作数据库的人员,拥有不同权限任务1.1理解数据库–3/3结构化查询语言(SQL)关系数据库操作语言,功能包括:数据查询(SELECT)数据定义(CREATETABLE等)数据操作(INSERT、UPDATE、DELETE)数据控制(权限管理)示例:创建表:CREATETABLE学生(学号TEXT,姓名TEXT)插入数据:INSERTINTO学生VALUES('001','张三')查询数据:SELECT*FROM学生WHERE学号='001'认识Access2019用户界面1.2任务1.2认识Access2019用户界面–1/3启动Access2019方式1:通过“开始”菜单→所有应用→Access2019方式2:直接双击Access数据库文件(.accdb或.mdb)开始页面左侧:最近使用的文件列表,可快速打开右侧:模板区(空白数据库、资产跟踪、学生等)顶部搜索框:可搜索联机模板打开罗斯文示例数据库罗斯文数据库是Access自带的示例,适合学习操作:单击“打开其他文件”,找到“罗斯文.accdb”登录对话框选择员工,单击“登录”进入罗斯文数据库主页任务1.2认识Access2019用户界面–2/3功能区位于窗口顶部,集中常用命令折叠/展开:Ctrl+F1或单击右上角按钮主要命令选项卡文件:新建、打开、保存、设置选项等开始:视图切换、剪贴板、字体、记录操作、排序筛选、查找创建:新建表、窗体、查询、报表、宏、模块外部数据:导入/导出数据、收集数据、链接表管理器数据库工具:关系、性能分析、迁移数据、VBA编辑器上下文命令选项卡根据当前操作对象自动出现,例如:设计视图中打开窗体→出现“设计”“排列”“格式”选项卡设计视图中打开表→出现“设计”选项卡(主键、插入行等)快速访问工具栏默认包含:保存、撤消、恢复自定义:单击右侧下拉箭头,添加常用命令任务1.2认识Access2019用户界面–3/3导航窗格显示数据库对象(表、查询、窗体、报表、宏、模块)对象按类别分组,可自定义组打开对象:双击对象或右键单击选择“打开”显示/隐藏:单击窗格右上角按钮或按F11选项卡式文档默认以选项卡显示打开的对象可通过Access选项切换为重叠窗口状态栏位于窗口底部,显示状态信息右侧提供视图切换按钮和缩放滑块自定义界面技巧自定义快速访问工具栏:单击按钮→选择“其他命令”→添加/删除命令可设置显示在功能区下方禁止显示导航窗格:文件→选项→当前数据库→清除“显示导航窗格”复选框认识Access数据库对象1.3任务1.3认识Access数据库对象–1/5Access数据库对象数据库是与特定主题相关的数据和对象的集合,Access2019包含以下对象:表:存储数据的核心,所有其他对象的基础查询:检索、更新、分析数据,可从多个表中提取信息窗体:数据输入/显示的界面,可包含按钮等控件报表:汇总和打印数据,以格式化的方式呈现宏:自动化操作,添加控制和功能模块:VBA代码编写的程序单元,实现高级功能导航窗格中可查看所有对象(按类别分组)任务1.3认识Access数据库对象–2/5表数据库的核心,存储所有原始数据结构:行(记录)、列(字段)每个字段有特定数据类型(文本、数字、日期等)设计视图:设置字段属性、主键、索引数据表视图:查看、添加、编辑、删除记录罗斯文示例:“产品”表查询用于检索、更新、分析数据可从多个表中组合数据,筛选满足条件的记录两种类型:选择查询:仅检索数据操作查询:更新、删除、追加数据视图:设计视图、SQL视图、数据表视图罗斯文示例:“按员工和日期产品销售量”查询任务1.3认识Access数据库对象–3/5窗体数据输入和显示的友好界面可包含控件(文本框、按钮、列表框等)用于控制用户交互,保护数据完整性可绑定表或查询作为数据源罗斯文示例:“采购订单明细”窗体报表用于汇总和打印数据,以格式化方式呈现可基于表或查询创建,适合打印或导出通常用于回答特定问题(如“前十个最大订单”)罗斯文示例:“前十个最大订单”报表任务1.3认识Access数据库对象–4/5宏自动执行任务的简化编程工具由一系列操作组成(打开报表、运行查询等)可附加到窗体按钮,实现自动化罗斯文示例:“删除所有数据”宏模块用VBA语言编写的代码单元类模块:附加到窗体或报表标准模块:存放通用过程,在导航窗格中列出罗斯文示例:“采购订单”模块源代码任务1.3认识Access数据库对象–5/5操作数据库对象打开:双击对象或右键→打开查找:导航窗格搜索框复制:右键→复制→粘贴(指定新名称)重命名:右键→重命名导出:右键→导出→选择格式删除:选中对象按Delete键项目2设计和创建数据库《数据库应用基础(Access2019)》项目目标了解设计数据库的相关原则掌握创建数据库的方法步骤掌握创建表的方法步骤掌握设置字段属性的方法掌握在表之间建立关系的方法本章目录01任务2.1设计数据库02任务2.2创建数据库03任务2.3使用数据表视图创建表04任务2.4使用设计视图创建表05任务2.5通过导入数据创建表06任务2.6设置查阅字段07任务2.7设置字段的输入掩码08任务2.8设置字段的验证规则09任务2.9在表中添加和编辑记录10任务2.10在表之间建立关系设计数据库2.1任务2.1设计数据库–1/4数据库设计的重要性数据库设计是开发信息管理系统的关键步骤良好的设计能让用户访问最新、准确的信息设计不当会导致数据冗余、不一致、难以维护数据库设计原则避免冗余:重复信息浪费空间,易出错确保完整性:数据准确、一致基于主题划分:将信息分到不同表中支持数据联接:提供必要的关联信息任务2.1设计数据库–2/4教务管理数据库设计过程第1步:明确数据库用途与用户沟通,了解系统功能需求教务管理系统功能示例:用户管理、系部管理、教师管理、班级管理课程管理、授课管理、学生管理、选课管理、成绩管理第2步:明确数据库中需要的表将信息项划分到实体(主题)中,每个实体对应一个表教务管理数据库需要的表:系统用户表、系部表、教师表、班级表课程表、授课表、学生表、选课表、成绩表任务2.1设计数据库–3/4教务管理数据库设计过程第3步:明确表中需要的字段确定每个表中存储哪些信息项,每个项成为一个字段为每个字段指定数据类型(数字、短文本、日期/时间等)教务管理系统表字段示例:教师表:教师编号、系部编号、姓名、性别、出生日期、照片(附件)等学生表:学号、班级编号、姓名、性别、入学成绩、电子信箱等第4步:设置表的主键主键:唯一标识每条记录的字段或组合教务管理系统表主键示例:学生表→学号(单字段主键)选课表→学号+课程编号(组合主键)授课表→教师编号+班级编号+课程编号(组合主键)任务2.1设计数据库–4/4教务管理数据库设计过程第5步:建立表关系通过公共字段关联各表外键:当前表中引用另一个表主键的字段一对多关系示例:系部表(一方)与教师表(多方)通过“系部编号”关联学生表(一方)与成绩表(多方)通过“学号”关联第6步:绘制数据库模型图使用亿图图示、Visio等软件绘制模型图包含:实体(表名)字段(主键PK、外键FK标识)数据类型表间关系(箭头指向主表)创建数据库2.2任务2.2创建数据库–1/4创建“空白数据库”操作步骤启动Access2019,点击首页的“空白数据库”。在弹出的对话框中:浏览路径:选择保存文件夹(例如:D:\Access2019)。命名文件:输入数据库名称(例如:教务管理.accdb)。点击“创建”按钮。操作结果系统自动生成一个空白数据库,
默认格式为Access2007-2016。自动创建一个名为“表1”的新表并在数据表视图中打开,
可根据需要添加字段或直接关闭。任务2.2创建数据库–2/4基于模板创建数据库什么是模板预设好的数据库,包含特定任务所需的表、查询、窗体和报表。优势:大幅加快创建过程,适合标准化需求。操作流程点击“文件”>“新建”。选择模板:点击内置的推荐模板。或在搜索框输入关键词,从OfficeOnline下载联机模板。配置保存:确认或修改建议的文件名。点击文件夹图标更改保存路径。点击“创建”(或“下载”),系统将自动打开包含预置对象的数据库。后续工作:通过导航窗格浏览并修改已有的表、窗体或报表以适应具体需求。任务2.2创建数据库–3/4数据库的打开与管理打开现有数据库:操作路径:“文件”>“打开”>“浏览”。快捷方式:在“打开”页面直接点击“最近使用的文件”列表。多种打开模式(点击“打开”按钮旁的下拉箭头):默认/共享访问:双击或直接点击“打开”,支持多用户
读写(适用于网络共享环境)。只读:防止误修改数据。独占:阻止其他用户同时打开,用于维护或结构修改。独占只读:最高权限限制。关闭数据库:点击“文件”>“关闭”,返回到Access开始选项卡。任务2.2创建数据库–4/4数据库的备份与格式转换(另存为)何时使用“另存为”备份:更换保存路径。版本迭代:更改数据库文件名。转换文件格式:如兼容旧版本或新版本。操作步骤点击“文件”>“另存为”。在中间栏选择“数据库另存为”。在右侧选择所需的文件类型,例如.accdb,.mdb等。点击“另存为”按钮,指定新文件名和路径。使用数据表视图创建表2.3任务2.3使用数据表视图创建表–1/6数据表视图类似Excel的电子表格界面。特点:直观、易上手,适合快速录入数据和定义简单结构。适用场景:初学者建表、快速原型开发。启动步骤打开“教务管理.accdb”数据库。点击顶部功能区的“创建”选项卡。点击“表”按钮。界面认识系统自动创建一个名为“表1”的新表。默认包含一个“ID”字段(自动编号)和一个“单击以添加”列。任务2.3使用数据表视图创建表–2/6重命名字段默认的“ID”和“单击以添加”没有实际意义。操作:双击列标题(如“ID”),直接输入新名称(如“用户编号”),按Enter确认。添加新字段方法一:点击右侧的“单击以添加”下拉箭头,选择数据类型(如“短文本”),输入字段名(如“密码”)。方法二:选中某一列,右键点击列标题,选择“插入字段”。删除字段选中整列(点击列标题),右键点击,选择“删除字段”。警告:删除字段将永久清除该列所有数据!任务2.3使用数据表视图创建表–3/6设置数据类型与字段属性为什么需要设置数据类型?决定字段能存储什么内容(数字、文本、日期等)。影响数据的排序、计算和存储空间。常用数据类型短文本:姓名、学号(非纯数字)、地址。长文本:备注、简介。数字:年龄、成绩(需计算)。日期/时间:出生日期、入学时间。货币:学费、奖学金。是/否:是否团员、是否在职。任务2.3使用数据表视图创建表–4/6设置数据类型与字段属性操作方法:选中字段列。点击顶部“字段”选项卡(或右键列标题)。在“数据类型”下拉列表中选择合适类型。字段属性设置(在“字段”选项卡中):字段大小:限制文本长度(如学号设为10)。格式:自定义显示样式(如日期显示为“yyyy-mm-dd”)。标题:设置更友好的显示名称(如字段名“Sname”,标题设为“学生姓名”)。任务2.3使用数据表视图创建表–5/6定义主键与调整字段顺序什么是主键唯一标识表中每一条记录的字段(如:学号、身份证号)。作用:防止重复记录,加快查询速度,建立表间关系的基础。如何设置主键选中要设为主键的字段列(如“学号”)。点击顶部“表格工具-设计”或“字段”选项卡。点击“主键”按钮(钥匙图标)。标志:字段左侧出现小钥匙图标。
注意:如果未设置主键,Access会在保存时提示是否自动创建“ID”主键。调整字段顺序:选中整列,按住鼠标左键拖动到新位置。任务2.3使用数据表视图创建表–6/6保存表与后续操作保存新表点击左上角快速访问工具栏的“保存”图标(或按Ctrl+S)。在弹出的对话框中输入表名。点击“确定”。命名规范:建议使用中文或英文,避免特殊字符,名称应反映表的内容。关闭表点击表标签右侧的关闭按钮,或右键点击表标签选择“关闭”。后续工作切换到“设计视图”进行更精细的调整,如设置必填字段、默认值、有效性规则等。开始输入数据:直接在数据表视图中逐行录入记录。使用设计视图创建表2.4任务2.4使用设计视图创建表–1/4在设计视图中创建表的操作流程步骤一:启动设计视图打开目标数据库(如教务管理数据库)。点击“创建”选项卡>“表”组>单击“表设计”命令。设计视图界面组成:上部网格:定义字段(字段名、数据类型、说明)。下部区域:设置“字段属性”(常规/查阅选项卡)。顶部功能区:“设计”上下文选项卡(工具组)。步骤二:定义字段结构在网格中逐行输入:字段名称:如“教师编号”、“姓名”。数据类型:选择匹配的类型(短文本、数字、日期/时间、附件等)。说明(可选):鼠标悬停时在状态栏显示的提示文字。任务2.4使用设计视图创建表–2/4在设计视图中创建表的操作流程步骤三:设置主键(PrimaryKey)单字段主键:选中字段行>点击“设计”选项卡>“工具”组>“主键”
主键设置成功时出现钥匙图标。多字段主键(复合主键):按住Ctrl键多选字段行>点击“主键”命令。案例:“成绩表”需同时以“学号”和“课程编号”为主键。步骤四:保存表点击快速访问工具栏的“保存”。输入表名称(如:“教师”),点击确定。任务2.4使用设计视图创建表–3/4在设计视图中设置字段属性格式(Format)-控制数据显示方式,不影响存储值。日期/时间:长日期、短日期、长时间等。数字/货币:货币符号、百分比、科学记数。是/否:显示为“是/否”、“真/假”或“开/关”。标题(Caption)-作为数据表视图的列标题,或窗体/报表的标签。示例:字段名StudentID,标题设为学号,使界面更友好。其他关键属性输入掩码:引导用户按特定模式输入(如电话号码、身份证号)。默认值:新建记录时自动填充(如“入学日期”默认为当天)。验证规则&验证文本:限制输入范围(如成绩必须在0-100之间),错误时弹出提示。必填字段:设为“是”,强制用户必须输入数据。任务2.4使用设计视图创建表–4/4在设计视图中修改表结构在设计视图中,可随时对已建表进行调整:插入字段:选中某行>点击“插入行”(新字段将出现在该行上方)。删除字段:选中一行或多行>点击“删除行”(数据将永久丢失,需谨慎)。调整顺序:选中字段行>拖动至新位置。修改属性:直接在下部属性区更改参数。通过导入数据创建表2.5任务2.5通过导入数据创建表–1/3从Excel导入数据的标准步骤步骤一:启动导入向导打开目标数据库(如教务管理数据库)。点击“外部数据”选项卡>“导入并链接”组>单击“新数据源”>“从文件”>“Excel”。在弹出的对话框中,找到并选中源文件(如:课程表.xlsx)。点击“确定”。步骤二:选择导入方式选择“将源数据导入当前数据库的新表中”,以创建新表。若选“追加”,则是将数据加到已有表中。任务2.5通过导入数据创建表–2/3从Excel导入数据的标准步骤步骤三:向导关键设置确认标题:勾选“第一行包含列标题”(重要!否则第一行数据会变成字段名)。字段选项:预览各列数据,可修改字段名称(如将Col1改为工号)。指定是否跳过某列,或设置特定列的数据类型(通常由系统自动推断)。设置主键:选择“让Access添加主键”(推荐新手)选择“我自己选择主键”(指定唯一列,如课程编号)。命名表:为导入后的新表输入名称(如:“课程”),点击“完成”。任务2.5通过导入数据创建表–3/3导入过程中的关键决策点主键的选择策略让Access添加主键系统会自动生成一个名为ID的“自动编号”字段作为主键。适用场景:源数据中没有唯一标识列,或不确定哪列唯一。我自己选择主键从下拉列表中选择源数据中的唯一列(如“课程编号”)。适用场景:源数据本身具备唯一性字段,需保持数据一致性。无主键:不推荐,会导致后续无法建立表关系。保存导入步骤(可选)最后一步可勾选“保存导入步骤”。若未来有相同结构的新文件需要导入,可直接运行保存的步骤,无需重复配置。设置查阅字段2.6任务2.6设置查阅字段–1/4什么是查阅字段定义:一种特殊类型的字段,其值来源于另一个表/查询或预定义的值列表。表现形式:在数据表视图中显示为组合框或列表框。核心优势:提高数据输入效率(下拉选择)。避免输入无效数据(限制输入范围)。实现数据的关联引用(如通过编号显示名称)。本任务学习目标掌握值列表查阅字段的设置(如性别、职称)。掌握表/查询查阅字段的设置(如系部编号、课程编号)。理解多值查阅字段的应用场景(如选修课选择)。熟悉查阅字段的关键属性配置(行来源、绑定列、限于列表等)。任务2.6设置查阅字段–2/4值列表查阅字段适用场景:字段取值固定且有限的情况。案例:学生表和教师表中的“性别”。设置步骤(以“性别”为例)在设计视图中打开表:选中字段,数据类型选择“查阅向导”。选择数据来源:选择“自行键入所需的值”。输入列表值:指定列数(通常为1),输入具体值(如:“男”;“女”)。完成设置:指定标签,勾选“限于列表”(强制只能选列表值)。关键属性解析行来源类型:值列表行来源:"男";"女"(文本型自动加双引号,分号分隔)显示控件:组合框限于列表:是(防止用户输入非法字符)课堂练习:请尝试将教师表中的“职称”字段设置为包含“正高;副高;中级;初级”的查阅字段。任务2.6设置查阅字段–3/4表/查询查阅字段适用场景:字段数据来源于其他表,需保持数据一致性。案例:教师表中的“系部编号”(显示系部名称,存储系部编号)。设置步骤(以“系部编号”为例)启动向导:在设计视图中选择“查阅向导”。选择“使用查阅字段获取其他表或查询中的值”。选择源表:选择提供数据的表(如“系部表”)。选定字段:添加用于显示的字段(系部名称)和用于存储的字段(系部编号)。排序与隐藏:设置排序次序(如按编号升序)。隐藏键列:勾选后,下拉列表只显示“系部名称”,实际存储的是“系部编号”。 6.数据完整性:启用“实施参照完整性”,自动建立表间关系。关键属性设置行来源:自动生成SQL语句(SELECT...FROM...)。绑定列:默认为1,决定存储哪一列的值(通常存储编号列)。列宽设置:隐藏列的宽度设为0(如2cm;0cm)。任务2.6设置查阅字段–4/4多值查阅字段应用场景:一个记录需要对应多个选项(如:一名学生选修多门课程)。设置要点:在向导最后一步勾选“允许多值”。数据表视图中,下拉列表每项前出现复选框。高级过滤:可在“行来源”中手动添加WHERE子句(如仅显示“选修”课)。示例:...FROM课程WHERE课程性质="选修"核心属性设置属性名作用说明常见设置值显示控件决定界面展示形式组合框、列表框行来源类型决定数据来源方式表/查询、值列表行来源具体的数据内容或SQL语句"男";"女"或SELECT...绑定列决定实际存储哪一列的数据1(默认),2...限于列表是否允许输入列表外的值是(推荐)、否允许多值是否允许同时选择多项是、否设置字段的输入掩码2.7任务2.7设置字段的输入掩码–1/3输入掩码概述什么是输入掩码?定义:用于设置表字段的有效输入格式,控制用户可输入的数据类型和格式作用:规范数据输入格式(如日期、电话号码等)提高数据录入的准确性和效率增强数据安全性(如密码显示为星号)应用场景示例密码字段:输入内容显示为星号(*)日期字段:只能输入数字和日期分隔符(如2023/01/15)学号字段:固定位数的数字组合(如6位数字)任务2.7设置字段的输入掩码–2/3设置输入掩码的操作步骤使用输入掩码向导(推荐方法)打开设计视图:在Access中打开数据库,以"设计"视图打开目标表选择字段:单击需要设置输入掩码的字段行启动向导:在"字段属性"区域的"常规"选项卡中,点击"输入掩码"右侧的构建器按钮选择模板:从列表中选择预设的输入掩码(如"密码"、"短日期"等)测试验证:在"尝试"框中输入测试数据,确认效果完成设置:按向导提示完成设置自定义输入掩码对于特殊需求(如学号),可通过"编辑列表"创建新的输入掩码设置掩码格式、占位符和示例数据任务2.7设置字段的输入掩码–3/3输入掩码的组成与特殊字符输入掩码的格式(三部分结构)
掩码本身;存储方式;占位符第一部分:定义输入格式(如0000/99/99)第二部分:决定是否保存原义字符0:保存所有字符(包括分隔符)1或空白:只保存用户输入的内容第三部分:设置占位符(如_下划线)常用特殊字符含义字符说明字符说明0必须输入数字(0-9)L必须输入字母9可选数字或空格A必须输入字母或数字#可选数字、空格或无>后续字符转大写&必须输入任意字符<后续字符转小写?可选大写字母password密码模式(显示为*)设置字段的验证规则2.8任务2.8设置字段的验证规则–1/3字段验证规则概述在Access表中,某些字段的取值应满足特定要求,不能随意输入。通过设置“验证规则”和“验证文本”,可以控制输入内容的有效性。验证规则的作用限制字段输入范围保证数据完整性提升数据质量设置方法打开表→“设计”视图→选中字段→字段属性→“常规”选项卡→输入“验证规则”和“验证文本”任务2.8设置字段的验证规则–2/3常见字段的验证规则设置测试效果说明输入不符合规则时,弹出提示框,阻止保存按Esc键可恢复原值字段验证规则验证文本说明出生日期<Now()输入的出生日期无效!必须早于当前日期成绩>=0And<=100成绩只能是0~100之间的数字!数值范围限制电子信箱IsNullOr(Like"*?@?*.*")And(NotLike"*[,;]*")输入的电子邮件地址格式无效!格式校验,允许空值任务2.8设置字段的验证规则–3/3验证规则使用技巧与注意事项规则表达式注意事项使用Now()获取当前系统时间使用And、Or、Like、IsNull等运算符支持通配符:*(任意字符)、?(单个字符)Null值处理默认情况下,验证规则不允许Null值如需允许空值,需添加IsNull条件属性长度限制验证规则:最多2048字符验证文本:最多255字符扩展示例>5000OrIsNull→输入项必须为空或大于5000Like"A?????????"→必须是10个字符且以A开头>=#1/1/2024#And<#1/1/2025#→必须是2024年内的日期在表中添加和编辑记录2.9任务2.9在表中添加和编辑记录–1/4不同字段类型的数据输入方式字段类型输入方式说明文本型/数字型文本框直接输入支持输入掩码和验证规则查阅字段组合框选择或输入若需输入新值,需将“限于列表”设为“否”是/否型复选框选中表示“是”,未选中表示“否”附件字段双击单元格打开“附件”对话框可添加、删除、查看附件文件任务2.9在表中添加和编辑记录–2/4添加新记录将光标定位在表的最后一行或单击记录导航栏的“新建(空白)记录”按钮依次输入各字段值修改现有记录单击要修改的单元格,输入新内容替换原有内容或按F2键取消选中状态,再进行修改删除记录选择要删除的记录单击记录左侧的记录选择器选中整条记录选择连续多条记录:按住并拖动记录选择器按Delete键,在弹出的确认对话框中单击“是”任务2.9在表中添加和编辑记录–3/4添加新记录将光标定位在表的最后一行或单击记录导航栏的“新建(空白)记录”按钮依次输入各字段值修改现有记录单击要修改的单元格,输入新内容替换原有内容或按F2键取消选中状态,再进行修改删除记录选择要删除的记录单击记录左侧的记录选择器选中整条记录选择连续多条记录:按住并拖动记录选择器按Delete键,在弹出的确认对话框中单击“是”任务2.9在表中添加和编辑记录–4/4查找与替换查找:在导航栏“搜索”框中输入内容,
或按Ctrl+F打开“查找”对话框替换:按Ctrl+H打开“替换”选项卡,
输入查找内容和替换内容排序单击作为排序依据的字段列在“开始”选项卡的“排序和筛选”组中
单击“升序”或“降序”多字段排序:按字段顺序依次设置清除排序:单击“取消排序”筛选单击字段标题右侧的下拉箭头通过复选框选择特定值,或选择“文本筛选器”自定义条件清除筛选:单击字段标题旁的漏斗图标,选择“清除筛选”在表之间建立关系2.10任务2.10在表之间建立关系–1/3任务说明在Access中,创建独立的表后,需要通过公共字段在表之间建立关系建立关系的目的是从多个相关表中检索并显示信息本任务以教务管理数据库为例,通过系部编号在系部表与班级表之间建立关系通过班级编号在班级表与学生表之间建立关系关系的类型关系类型说明示例一对多最常用。A表一条记录对应B表多条记录,反之则一条一个系→多个班级多对多需通过第三个“联结表”实现学生↔课程(通过选课表)一对一较少用。一条记录只对应另一表的一条记录员工表↔员工详情表任务2.10在表之间建立关系–2/3建立关系的方法与步骤打开关系窗口:“数据库工具”选项卡→“关系”组→单击“关系”添加相关表:“设计”选项卡→“关系”组→“显示表”
按住Ctrl键依次选择要建立关系的表→“添加”→“关闭”创建关系:在“关系”窗口中,从一个表中将关联字段拖到另一个表的对应字段上
如系部表的“系部编号”→班级表的“系部编号”设置关系选项弹出“编辑关系”对话框,设置:联接类型(内联接、左联接、右联接)实施参照完整性级联更新相关记录级联删除相关记录单击“确定”按钮
关系线自动生成(1表主键,∞表外键)任务2.10在表之间建立关系–3/3编辑与删除关系编辑关系:双击关系线→弹出“编辑关系”对话框→修改设置删除关系:单击关系线→按Delete键→确认删除参照完整性定义:确保相关表之间数据一致性的规则系统作用:防止在主表中没有相关记录时,在子表中添加记录
防止在子表中存在相关记录时,删除主表中的记录实施前提:主表相关字段必须为主键或具有唯一索引
相关字段数据类型相同
两个表位于同一数据库中级联选项级联更新:主表主键更改时,自动更新子表对应数据级联删除:主表记录删除时,自动删除子表相关记录项目3创建和应用查询《数据库应用基础(Access2019)》项目目标掌握使用向导和设计器创建选择查询的方法掌握创建交叉表查询的方法掌握创建参数查询的方法掌握通过操作查询添加记录的方法掌握通过操作查询更新记录的方法掌握通过操作查询删除记录的方法本章目录01任务3.1创建选择查询02任务3.2通过执行条件筛选记录03任务3.3创建多表查询04任务3.4在查询中进行计算05任务3.5创建参数查询06任务3.6创建交叉表查询07任务3.7创建子查询08任务3.8通过追加查询添加记录09任务3.9通过更新查询修改记录10任务3.10通过删除查询删除记录创建选择查询3.1任务3.1创建选择查询–1/5选择查询概述什么是选择查询最常见的查询类型,用于从一个或多个表中检索符合条件的数据。可以以“数据表视图”显示结果,并可作为窗体、报表的数据源。以SQLSELECT语句的形式存储在数据库中。创建选择查询的两种方式查询向导:适合初学者,步骤清晰,快速生成查询。查询设计器:功能更强大,可灵活设置条件、排序和字段。本任务目标掌握使用向导和设计器创建选择查询的方法。理解SQLSELECT语句的基本结构。能够设置查询条件、排序和返回指定数量的记录。任务3.1创建选择查询–2/5使用向导创建查询操作步骤打开“教务管理数据库”。在“创建”选项卡中单击“查询向导”,选择“简单查询向导”。选择“学生”表,添加所需字段(如:班级编号、学号、姓名、性别、出生日期)。设置查询标题(如:“学生基本信息”),选择“修改查询设计”完成创建。查看查询结果数据表视图:查看查询返回的记录。设计视图:查看字段布局与条件设置。SQL视图:查看生成的SQL语句。示例SELECT学生.班级编号,学生.学号,学生.姓名,学生.性别,学生.出生日期FROM学生;任务3.1创建选择查询–3/5设置查询条件与筛选记录任务需求从学生表中检索“入学成绩在450分以上的女同学”。操作步骤单击“查询设计”,添加“学生”表。添加字段:学号、姓名、性别、入学成绩。在“条件”行中设置:性别:="女"入学成绩:>450保存查询为“入学成绩高于450的女同学”。生成的SQL语句SELECT学生.学号,学生.姓名,学生.性别,学生.入学成绩FROM学生WHERE(((学生.性别)="女")AND((学生.入学成绩)>450));关键知识点WHERE子句:用于设置筛选条件。AND/OR/NOT:用于组合多个条件。比较运算符:=,>,<,>=,<=,<>任务3.1创建选择查询–4/5排序与TOP查询按入学成绩降序排列在设计视图中,选择“入学成绩”字段的“排序”为“降序”。保存查询为“按入学成绩降序排列学生记录”。生成以下SQL语句:SELECT学生.学号,学生.姓名,学生.性别,学生.入学成绩FROM学生ORDERBY学生.入学成绩DESC;只显示前5名学生记录使用已有查询作为数据源。在“返回”框中输入“5”。生成以下SQL语句:SELECTTOP5按入学成绩降序排列学生记录.*FROM按入学成绩降序排列学生记录;关键知识点ORDERBY子句:用于排序,默认升序(ASC),可指定降序(DESC)。TOP谓词:返回前N条或前N%的记录,常与ORDERBY配合使用。任务3.1创建选择查询–5/5生成表查询与SELECT语句完整结构生成表查询将查询结果保存为一个新表。示例:检索共青团员学生,生成“共青团员学生”表。SQL语句示例:SELECT学生.学号,学生.姓名,学生.班级编号,学生.性别,学生.是否团员INTO共青团员学生FROM学生WHERE(((学生.是否团员)=True));SELECT语句完整结构(简化版)SELECT[TOPn]字段列表[INTO新表]FROM表名[WHERE条件][ORDERBY字段[ASC|DESC]]通过搜索条件筛选记录3.2任务3.2通过搜索条件筛选记录
–1/4使用比较运算符与AND组合条件需求:查询入学成绩在400到465之间的学生记录,并按入学成绩降序排列。操作要点添加“学生”表,选择班级编号、学号、姓名、性别、入学成绩。在“入学成绩”字段的“条件”单元格中输入:>=400AND<=465在“排序”中选择“降序”。两种写法对比>=400AND<=465vsBETWEEN400AND465生成的SQL语句SELECT学生.学号,学生.班级编号,学生.姓名,学生.性别,学生.入学成绩FROM学生WHERE(((学生.入学成绩)>=400AND(学生.入学成绩)<=465))ORDERBY学生.入学成绩DESC;关键知识点比较运算符:>,<,>=,<=,=,<>范围测试:BETWEEN...AND...用于判断值是否在闭区间内任务3.2通过搜索条件筛选记录–2/4使用AND与OR组合多个条件示例1:查询团员女同学(AND条件)条件:性别为“女”且是团员在两个字段的“条件”单元格中分别输入:“女”和“True”。生成的SQL语句:
WHERE(((学生.性别)="女")AND((学生.是否团员)=True))示例2:查询正高、副高或研究生学历教师(OR条件)条件:学历为“研究生”或职称为“正高”或“副高”在学历字段的“条件”中输入:“研究生”在职称字段的“或”单元格中输入:IN("正高","副高")。生成的SQL语句:
WHERE(((教师.学历)="研究生"))OR(((教师.职称)IN("正高","副高")))关键知识点AND:所有条件同时满足OR:满足任一条件即可NOT:否定条件同一行“条件”单元格之间为AND关系,“或”行与“条件”行为OR关系任务3.2通过搜索条件筛选记录–3/4使用IN与LIKE运算符IN运算符:测试值是否在列表中语法:字段名IN(值1,值2,...)示例:查询职称为“正高”或“副高”的教师职称IN("正高","副高")取反:NOTINLIKE运算符:模式匹配与通配符语法:字段名LIKE"模式"常用通配符通配符含义示例*任意多个字符"张*"
匹配姓张?单个字符"李?"
匹配姓李且名字一个字[]括号内任一字符"[张王李赵]*"
匹配张王李赵姓[!]不在括号内的字符"[!刘]*"
匹配不姓刘#单个数字"2025#"
匹配20250-20259任务3.2通过搜索条件筛选记录–4/4搜索条件综合应用日期条件书写规范使用#作为日期定界符,如>#2006-06-01#Access会根据系统区域设置自动调整显示格式空值判断IsNull:字段值为空IsNotNull:字段值非空WHERE子句常用元素比较运算符:=,>,<,>=,<=,<>范围测试:BETWEEN...AND...列表测试:IN(...)/NOTIN(...)模式匹配:LIKE+通配符条件组合:AND,OR,NOT空值判断:ISNULL/ISNOTNULL创建多表查询3.3任务3.3创建多表查询–1/3为什么需要多表查询为避免数据冗余,相关数据分散存储在不同表中多表查询可将分散的数据组合起来,形成完整信息视图内部连接(INNERJOIN):只要两个表的公共字段有匹配值,就组合这两个表中的记录语法格式
FROM表1INNERJOIN表2ON表1.字段=表2.字段示例:查询数字媒体专业学生信息需求:从班级表和学生表中获取专业名称、学号、姓名、性别数据来源:班级表(专业名称)、学生表(学号、姓名、性别)连接条件:班级编号(两个表的公共字段)筛选条件:专业名称=“数字媒体”生成的SQL语句SELECT班级.专业名称,学生.学号,学生.姓名,学生.性别FROM班级INNERJOIN学生ON班级.班级编号=学生.班级编号WHERE(((班级.专业名称)="数字媒体"));关键要点若表间已建立关系,Access会自动添加INNERJOIN连接字段数据类型必须相同或兼容任务3.3创建多表查询–2/3三表连接查询:查询学生课程成绩需求:获取学号、姓名、课程名称、成绩数据来源分布
学生表:学号、姓名;课程表:课程名称;成绩表:成绩、学号、课程编号连接关系成绩表↔课程表:通过“课程编号”连接;成绩表↔学生表:通过“学号”连接设计视图操作添加学生表、课程表、成绩表选择字段:学号、姓名、课程名称、成绩按学号升序排序生成的SQL语句(嵌套连接)SELECT学生.学号,学生.姓名,课程.课程名称,成绩.成绩FROM学生INNERJOIN(课程INNERJOIN成绩ON课程.课程编号=成绩.课程编号)ON学生.学号=成绩.学号ORDERBY学生.学号;执行顺序先连接课程表和成绩表(按课程编号)再将结果与学生表连接(按学号)任务3.3创建多表查询–3/3内部连接(INNERJOIN)深入理解INNERJOIN完整语法
FROM表1INNERJOIN表2ON表1.字段1=表2.字段2可使用关系比较运算符(=,<,>,<=,>=,<>)可使用多个ON子句组合条件(AND/OR)嵌套连接语法
FROM表1INNERJOIN(表2INNERJOIN表3ON连接条件)ON连接条件连接字段的要求数据类型必须相同或兼容,不能连接备注型、OLE对象型字段自动编号与长整型可互连,但单精度与双精度不可直接连接扩展知识内部连接:只返回两个表中有匹配值的记录外部连接(LEFTJOIN/RIGHTJOIN):返回一侧表的所有记录,另一侧无匹配时显示空值在查询中进行计算3.4任务3.4在查询中计算–1/5在查询中进行计算概述两种计算类型预定义计算:针对一组记录进行统计计算求和(Sum)、平均值(Avg)、计数(Count)、最大值(Max)、最小值(Min)需要在设计网格中添加“总计”行自定义计算:对单条记录中的字段进行运算数值运算、日期运算、文本拼接等通过创建“计算字段”实现,无需添加“总计”行核心概念分组:将相同字段值的记录合并为一组,再对每组进行统计GROUPBY子句:指定分组依据HAVING子句:对分组后的结果进行筛选(类似WHERE,但作用于组)本任务目标掌握在查询中进行求和、平均、计数等统计计算学会使用GROUPBY对记录分组学会创建计算字段进行自定义计算任务3.4在查询中计算–2/5预定义计算——总成绩与平均成绩示例1:计算每个学生的总成绩数据来源:学生表+成绩表;分组依据:学号、姓名;统计函数:Sum(合计);排序:按总成绩降序操作步骤添加学生表和成绩表,选择学号、姓名、成绩字段;单击“汇总”命令,显示“总计”行;将成绩字段的“总计”设为“合计”;设置别名:“总成绩:成绩”;在“排序”中选择“降序”。生成以下SQL语句SELECT学生.学号,学生.姓名,Sum(成绩.成绩)AS总成绩FROM学生INNERJOIN成绩ON学生.学号=成绩.学号GROUPBY学生.学号,学生.姓名ORDERBYSum(成绩.成绩)DESC;示例2:计算每个学生的平均成绩将“合计”改为“平均值”,别名设为“平均成绩:成绩”可通过“属性表”设置小数位数和格式任务3.4在查询中计算–3/5分组统计与HAVING子句示例:计算数学课的最高分、最低分、平均分数据来源:课程表+成绩表;分组依据:课程名称统计函数:Max、Min、Avg;筛选条件:只显示“数学”课程操作要点添加课程表和成绩表;添加课程名称字段和三个成绩字段将三个成绩字段的“总计”分别设为“最大值”、“最小值”、“平均值”在课程名称的“条件”单元格中输入“数学”为计算字段设置别名:最高分、最低分、平均分。生成以下SQL语句SELECT课程.课程名称,Max(成绩.成绩)AS最高分,Min(成绩.成绩)AS最低分,Avg(成绩.成绩)AS平均分FROM课程INNERJOIN成绩ON课程.课程编号=成绩.课程编号GROUPBY课程.课程名称HAVING(((课程.课程名称)="数学"));WHEREvsHAVINGWHERE:分组前筛选记录HAVING:分组后筛选组任务3.4在查询中计算–4/5计数与SQL统计函数示例:统计每班学生人数数据来源:学生表+班级表;分组依据:系部编号、专业名称、班级编号统计函数:Count(计数);计算字段:人数:学号操作要点添加班级表和学生表;添加系部编号、专业名称、班级编号、学号字段将学号的“总计”设为“计数”;设置别名:“人数:学号”常用SQL统计函数函数功能适用场景Sum求和总成绩、总金额Avg平均值平均成绩、平均价格Count计数学生人数、订单数量Max最大值最高分、最高销售额Min最小值最低分、最低价格任务3.4在查询中计算–5/5自定义计算——计算年龄自定义计算的特点无需添加“总计”行;对每条记录独立计算;使用表达式构建计算字段示例:根据出生日期计算学生年龄数据来源:学生表;计算字段:年龄:DateDiff("yyyy",[出生日期],Now())DateDiff:计算两个日期之间的时间间隔;"yyyy":间隔单位为年;[出生日期]:引用字段值,需加方括号;Now():返回当前系统日期和时间操作步骤添加学生表,选择学号、姓名、性别、出生日期;在空白字段列输入计算表达式;保存查询并运行。生成以下SQL语句SELECT学生.学号,学生.姓名,学生.性别,DateDiff("yyyy",[出生日期],Now())AS年龄FROM学生;其他常用计算示例文本拼接:姓名:[姓]&[名]数值运算:总价:[单价]*[数量]创建参数查询3.5任务3.5创建参数查询–1/3什么是参数查询是一种“交互式”查询,无需修改查询设计即可改变查询结果执行时弹出对话框提示用户输入信息输入的信息动态构成查询条件为什么使用参数查询提高查询的灵活性同一查询可根据不同输入返回不同结果适合需要反复查询不同条件的场景创建方法在“条件”单元格中输入用方括号括起的提示文字语法:[请输入提示信息]示例:根据专业名称检索学生信息数据来源:班级表+学生表参数设置:在专业名称字段的“条件”中输入[请输入专业名称:]运行效果:弹出对话框,输入“计算机网络”后显示对应专业学生。生成以下SQL语句SELECT班级.专业名称,学生.学号,学生.姓名FROM班级INNERJOIN学生ON班级.班级编号=学生.班级编号WHERE(((班级.专业名称)=[请输入专业名称:]));任务3.5创建参数查询–2/3什么是模糊查询通过输入部分信息(如姓氏、名字中的字)来检索匹配记录需要结合LIKE运算符和通配符使用常用通配符*:匹配任意多个字符?:匹配单个字符[]:匹配括号内任一字符示例:根据姓名模糊查询学生信息数据来源:学生表参数设置:在姓名字段的“条件”中输入Like"*"&[请输入姓名或姓名中的一部分:]&"*"运行效果:输入“国”,可查出“李国杰”“江卫国”等所有姓名中包含“国”字的学生生成的SQL语句SELECT学生.学号,学生.姓名,学生.性别,学生.出生日期FROM学生WHERE(((学生.姓名)Like"*"&[请输入姓名或姓名中的一部分:]&"*"));关键点&为字符串连接运算符,将通配符与用户输入拼接两个*表示在输入内容前后均可有其他任意字符任务3.5创建参数查询–3/3多参数查询示例:根据姓名和课程名称查询学生成绩数据来源:学生课程成绩查询(已有查询)参数设置:在两个字段的“条件”中分别设置参数姓名:[请输入学生姓名:]课程名称:[请输入课程名称:]运行效果:依次弹出两个对话框,输入参数后显示指定学生的指定课程成绩生成的SQL语句SELECT学生课程成绩.学号,学生课程成绩.姓名,
学生课程成绩.课程名称,学生课程成绩.成绩FROM学生课程成绩WHERE(((学生课程成绩.姓名)=[请输入学生姓名:])AND((学生课程成绩.课程名称)=[请输入课程名称:]));创建交叉表查询3.6任务3.6创建交叉表查询–1/5什么是交叉表查询一种特殊的查询类型,用于对数据进行分组汇总行标题:显示在数据表左侧,分组字段(可多个)列标题:显示在数据表顶部,分组字段(仅一个)值字段:显示在行与列交叉处,进行统计计算(如求和、平均、计数等)为什么使用交叉表查询解决普通查询中同一学生、同一课程重复出现的问题使数据呈现更加直观、紧凑便于进行数据分析与比较典型应用场景学生成绩表:行标题为专业/班级/姓名,列标题为课程名称,值为成绩销售统计表:行标题为产品,列标题为月份,值为销售额行标题1行标题2课程A课程B课程C专业1张三859078专业1李四928884专业2王五768591任务3.6创建交叉表查询–2/5按专业查询学生各科成绩需求分析行标题:专业名称、班级编号、学号、姓名列标题:课程名称值字段:成绩(使用First函数,每生每课仅一个成绩)操作步骤添加班级表、学生表、课程表、成绩表;在“设计”选项卡中单击“交叉表查询”设置字段的“交叉表”属性:专业名称、班级编号、学号、姓名→行标题课程名称→列标题成绩→值(总计设为“First”)定义参数:在“查询参数”中定义“专业名称”,数据类型为“短文本”在专业名称的“条件”中输入:[专业名称]保存为“按专业查询成绩”运行效果:输入专业名称(如“数字媒体”),显示该专业学生的各科成绩任务3.6创建交叉表查询–3/5按班级查询各科平均成绩需求分析行标题:班级编号列标题:课程名称值字段:平均成绩(使用Avg函数)操作步骤添加学生表、成绩表、课程表;添加字段:班级编号(两次)、课程名称、成绩单击“交叉表查询”;设置字段的“交叉表”属性:左边的班级编号→行标题课程名称→列标题成绩→值(总计设为“平均值”)右边的班级编号→总计设为“Where”,交叉表留空定义参数:定义“班级编号”,数据类型为“短文本”在右边班级编号的“条件”中输入:[班级编号]设置成绩字段的格式为“标准”,小数位数2保存为“按班级查询各科平均成绩”运行效果:输入班级编号(如“电2401”),显示该班级各科平均成绩任务3.6创建交叉表查询–4/5按班级查询各科平均成绩生成的SQL语句PARAMETERS班级编号Text(255);TRANSFORMAvg(成绩.成绩)AS成绩之平均值SELECT学生.班级编号FROM...WHERE(((学生.班级编号)=[班级编号]))GROUPBY学生.班级编号PIVOT课程.课程名称;任务3.6创建交叉表查询–5/5交叉表查询语法总结TRANSFORM...PIVOT语句结构PARAMETERS参数名数据类型;TRANSFORM聚合函数(值字段)SELECT行标题字段列表FROM表名[WHERE条件]GROUPBY行标题字段列表PIVOT列标题字段[IN(固定列值列表)];子句作用对应设计视图PARAMETERS定义查询参数“查询参数”对话框TRANSFORM指定值字段的统计方式“总计”行(值字段)SELECT指定行标题字段“交叉表”设为“行标题”GROUPBY对行标题分组自动生成WHERE筛选记录“条件”单元格PIVOT指定列标题字段“交叉表”设为“列标题”IN固定列标题顺序可选项各子句说明创建子查询3.7任务3.7创建子查询–1/4什么是子查询一个SELECT语句嵌套在另一个SELECT语句或其他SQL语句中包含子查询的语句称为主查询,子查询放在圆括号内用于为主查询提供条件或数据子查询的常见用途返回单个值(如平均值、最大值)供主查询比较返回一组值供主查询进行成员测试(IN)进行存在性测试(EXISTS)子查询的基本结构SELECT字段列表FROM表名WHERE字段比较运算符(SELECT...FROM...WHERE...);三种主要类型比较子查询:返回一个值,与主查询比较(>、<、=等)IN子查询:返回一组值,检查主查询值是否在列表中EXISTS子查询:返回是否存在记录,进行存在性测试任务3.7创建子查询–2/4比较子查询——查询数学课成绩高于平均成绩的学生实现思路子查询计算数学课的平均成绩主查询筛选成绩大于子查询返回值的记录操作步骤添加学生表、成绩表、课程表添加字段:学号、姓名、课程名称、成绩在成绩字段的“条件”中输入:
>(SELECTAvg(成绩.成绩)FROM成绩WHERE课程.课程名称="数学")生成的SQL语句SELECT学生.学号,学生.姓名,课程.课程名称,成绩.成绩FROM课程INNERJOIN(学生INNERJOIN成绩ON学生.学号=成绩.学号)ON课程.课程编号=成绩.课程编号WHERE(((成绩.成绩)>(SELECTAvg(成绩.成绩)FROM成绩
WHERE课程.课程名称="数学")));关键点子查询独立执行,返回一个单值(平均分)主查询的WHERE子句使用“>”进行比较子查询中可使用主查询的字段(本例中课程名称)任务3.7创建子查询–3/4IN子查询——查询平均成绩高于80分的学生实现:在学号字段的“条件”中输入:
IN(SELECT学号FROM成绩GROUPBY学号HAVINGAVG(成绩)>80)SQL语句SELECT学生.班级编号,学生.学号,学生.姓名,学生.性别FROM学生WHERE(((学生.学号)IN(SELECT学号FROM成绩
GROUPBY学号HAVINGAVG(成绩)>80)));EXISTS子查询——查询未包含在授课表中的课程实现:使用NOTEXISTS进行存在性测试SQL语句SELECT课程.课程编号,课程.课程名称FROM课程WHERE((NOTEXISTS(SELECT*FROM授课
WHERE课程.课程编号=授课.课程编号)));任务3.7创建子查询–4/4五种子查询类型编写子查询的注意事项子查询必须放在圆括号内子查询应能独立运行并返回预期结果使用EXISTS时,SELECT列表通常用*复杂子查询可能影响性能,必要时可用JOIN替代注意数据类型匹配类型描述典型用法存在性子查询检查是否存在满足条件的记录EXISTS/NOTEXISTS比较子查询返回一个值,与主查询比较>、<、=等IN子查询检查值是否在子查询结果集中IN/NOTINANY/SOME子查询与子查询中任一值比较满足条件>ANY、=SOMEALL子查询与子查询中所有值比较满足条件>ALL通过追加查询添加记录3.8任务3.8通过追加查询添加记录–1/4什么是追加查询一种操作查询,用于向表中添加新记录;通过INSERTINTO语句实现可以在“SQL视图”中直接编写,也可通过“设计视图”创建为什么使用追加查询批量添加数据,提高录入效率可从其他表或查询中复制数据支持参数输入,实现交互式添加两种追加方式单记录追加:每次添加一条记录,通过参数提供字段值多记录追加:从其他表或查询中批量复制记录基本语法--单记录追加INSERTINTO目标表(字段1,字段2,...)VALUES(值1,值2,...);--多记录追加INSERTINTO目标表(字段1,字段2,...)SELECT字段1,字段2,...FROM来源表WHERE条件;任务3.8通过追加查询添加记录–2/4单记录追加查询(带参数)需求:向学生表中添加新记录,字段值在运行时输入实现方法:在SQL视图中直接编写带参数的INSERT语句SQL语句INSERTINTO学生(学号,班级编号,姓名,性别,出生日期)VALUES([学号],[班级编号],[姓名],[性别],[出生日期]);操作步骤创建空白查询,切换到SQL视图输入上述SQL语句保存查询为“添加学生记录(追加查询)”运行查询,在对话框中依次输入各字段值运行效果弹出对话框提示输入学号、班级编号、姓名等输入完成后,新记录追加到学生表末尾任务3.8通过追加查询添加记录–3/4多记录追加查询——批量向成绩表追加记录需求:根据学生所在班级,从授课表中获取课程编号,为未录入成绩学生批量生成成绩记录操作要点第一步:创建选择查询,找出需要追加的数据添加学生表、授课表;选择字段:学号、课程编号、班级编号设置条件:学号:NOTIN(SELECT学号FROM成绩)(尚未录入成绩的学生)班级编号:[学生].[班级编号](与授课表班级匹配)第二步:将选择查询转换为追加查询单击“追加”命令,指定目标表为“成绩”设计网格中出现“追加行”,映射目标字段生成的SQL语句INSERTINTO成绩(学号,课程编号)SELECT学生.学号,授课.课程编号FROM授课,学生WHERE(((学生.学号)NotIn(SELECT学号FROM成绩))AND((授课.班级编号)=[学生].[班级编号]));任务3.8通过追加查询添加记录–4/4追加查询小结与注意事项两种语法对比单记录追加 INSERTINTO...VALUES... 逐条添加新记录,配合参数使用多记录追加 INSERTINTO...SELECT... 批量复制数据,从其他表导入注意事项目标表的字段列表与源数据必须一一对应(字段数量、数据类型)如果目标表有主键,必须确保追加的值唯一且非空若目标表包含自动编号字段:省略该字段可让Access自动生成新编号包含该字段可保留原始值运行前建议先执行相同的选择查询,预览将要追加的数据追加查询的应用场景从临时表导入数据到正式表批量生成关联记录(如学生成绩初始记录)数据迁移与归档通过更新查询修改记录3.9任务3.9通过更新查询修改记录–1/3什么是更新查询一种操作查询,用于批量修改表中的记录通过UPDATE语句实现可基于指定条件更新一个或多个字段的值为什么使用更新查询批量修改数据,避免逐条手动编辑可根据复杂条件精准更新提高数据维护效率任务3.9通过更新查询修改记录–2/3基本语法UPDATE表名SET字段1=值1,字段2=值2,...[WHERE条件];UPDATE:指定要更新的目标表SET:设置字段的新值WHERE:筛选要更新的记录(可选;省略则更新所有记录)更新查询的特点不返回结果集,直接修改表数据操作不可撤销,建议提前备份数据可结合多表连接(INNERJOIN)使用任务2.9通过更新查询修改记录–3/3操作实例——更新指定学生的数学成绩需求:将学号为“240013”的学生数学成绩修改为86分操作步骤创建选择查询,添加成绩表和课程表;添加字段:学号、成绩、课程名称单击“更新查询”命令,设计网格中出现“更新到”行在“成绩”字段的“更新到”单元格输入86设置条件:学号条件:"240013"课程名称条件:"数学"保存查询为“更新学生成绩(更新查询)”运行查询,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年逻辑思维训练及问题解决能力提升题集
- 2026年音乐作品版权与创作过程问题集
- 2026年各族青少年交流计划活动内容知识问答
- 2026年危化品运输车辆管理面试题
- 2026年街道小区装修管理知识问答
- 镇府防冻实施方案
- 大沥俱乐部保洁工作方案
- 武隆粘结砂浆建设方案
- 机关控烟实施方案
- 托管试点实施方案
- 招投标挂靠合同范本
- DL∕T 523-2017 化学清洗缓蚀剂应用性能评价指标及试验方法
- HJ 651-2013 矿山生态环境保护与恢复治理技术规范(试行)
- 《数字道路路侧毫米波雷达技术要求》(征求意见稿)
- 《剧院魅影:25周年纪念演出》完整中英文对照剧本
- 人教版初中英语七至九年级单词汇总表(七年级至九年级全5册)
- 青岛科技大学2023年综合评价招生考试诚信承诺书
- 辉瑞标准销售模式
- 练好字控笔线条训练字帖
- 地铁行车调度应急指挥
- 2023年不动产登记代理人《不动产登记法律制度政策》考试题库(浓缩500题)
评论
0/150
提交评论