ACCESS实验答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四Access数据库软件操作实验

1. 建立数据库

创建一个数据库,文件名为Test1.accdb,存放在实验目录中,在其中建立表Teachers,其结构如表1所示,内容如表2所示,主键为教师号。

表1 表Teachers的结构

表2 表Teachers的内容

2. 将表Teachers复制为Teachers1。

3. 用SQL中的数据更新命令数据库中表Teachers1进行操作。

1) 用INSERT命令插入一条新的记录。

600001 杨梦女59 66/04/22 YES 1660 210

SQL语句:INSERT INTO teachers1 ( 教师号, 姓名, 性别, 年龄, 参加工作年月, 党员, 应发工资, 扣除工资 )

VALUES ("600001", "杨梦", "女", 59, #1990/02/01#, true, 1960, 210);

本题操作要点:字段、常量间逗号一定要用半角,字符常量一定要用英文的双引号或单引号,例如:"杨梦",日期常量数据一定要用##,例如:#1990/02/01#。

如果在其它机器上用,运行时,access右下角运行出现“操作或事件已被禁用模式阻止”,请更改下安全等级:文件->选项->信任中心->信任中心设置->宏设置->启用所有。然后关闭ACCESS,重新启动ACCESS即可。

2) 用DELETE命令删除姓名为关红梅的记录。

SQL语句:

DELETE*

FROM teachers1

WHERE姓名="关红梅"

此题操作要点:菜单拦上选创建->查询设计->(此时会打开一个对话框,让用户选择要删除的表,可以不选任何表->直接选“关闭按钮”)->将鼠标移到上部分,按右键,选SQL视图。输入命令代码即可。

3) 用DELETE命令删除年龄小于36且性别为“女”的记录。

SQL语句:DELETE *

FROM teachers1

WHERE 性别="女" and 年龄<36;

4) 用UPDATE对表中工龄超过25年的职工加20%元工资。

SQL语句:

UPDATE teachers1 SET 应发工资= 应发工资*1.2

WHERE ((Year(Date())-Year(参加工作年月)>25));

操作要点:类似的更新数据表中的数据的题不建议用向导做。直接进到SQL 视图输入代码要简单些。

此题的难点:要知道YEAR()和DATE()函数的使用方法及其含义。Year()是取日期常量里的“年份”数据,date()是取系统时间。

小结:DELETE和UPDATE关键要记住两命令的格式,和写出正确的

WHERE 子句,即条件子句。

4. 通过Access的设计视图设计完成如下查询,然后切换至SQL视图,把SQL 语句填写在后面的横线上。(当然也可以直接写出相应的SQL语句)下面的所有的语句都是对数据库中表Teachers进行操作。

1) 查询所有教师的基本信息。

SQL语句:

SELECT teachers.*

FROM teachers

2) 查询教师的教师号、姓名、性别和年龄

SQL语句:

SELEC T 教师号,姓名,性别,年龄

FROM teachers;

3) 查询教师的教师号、姓名和实发工资。

SQL语句:

SELECT teachers.教师号, teachers.姓名, 应发工资-扣除工资AS实发工资

FROM teachers;

此题的重点在于掌握字段“标签”的书写格式,缺省事字段名称,如果要指定字符串做为标签,一定要用AS .

4) 查询教师的人数和平均实发工资。

SQL语句:

SELECT Count(teachers.教师号) AS教师人数, Avg([应发工资]-[扣除工资]) AS 平均工资

FROM teachers;

此题操作要点:要知道常用的统计函数;查询设计的工具栏上找到“汇总”按钮,点击一下,这样在查询设计向导中会增加“总计”栏。然后选取相应的字段和

函数。平均工资可以先选“应发工资”,再在字段栏直接输入:-扣除工资。标签同上,可以在切换到SQL书写模式下,直接更改。要点是要知道SQL和向导来回切换。(指向相应的查询页框标签,按右键,在快捷菜单中可以来回切换)

5) 查询华成的基本情况。

SQL语句:

SELECT teachers.*

FROM teachers

WHERE ([teachers]![姓名]="华成");

如上图,直接在条件栏输入条件.

6) 查询所有男教师的基本信息。SQL语句:

FROM teachers

WHERE ([teachers]![性别]="男");

7) 查询90年以前参加工作的所有教师的教师号、姓名和实发工资。

SQL语句:

SELECT teachers.*

FROM teachers

WHERE teachers.参加工作年月<#1/1/1990#;

在条件栏输入: <#1990/1//#。

注意日期常量的写法.

8) 查询所有不姓高的学生的基本情况。(此题改为教师)

SQL语句:

FROM teachers

WHERE teachers.姓名Not Like "高*";

此题的要点是:LIKE是个关系运算符号,包含的意识,LIKE “高*”,意识是包含高姓人名,*是统配符号,表示任意一个字符串,?表示任意一个字符,这两符号常常和LIKE连用,NOT 是逻辑运算符非的意识。NOT LIKE 就是不包含。

9) 查询男女生的最低分最高分和平均分数

SQL语句:

10) 查询男女职工的最低工资、最高工资和平均工资(工资是指实发工资)。

SQL语句:

SELECT Min([应发工资]-[扣除工资]) AS 最低工资, Max([应发工资]-[扣除工资]) AS 最高工资, Avg([应发工资]-[扣除工资]) AS 平均工资

FROM teachers;

此题直接切换到SQL视图输入要简单些。注意AS的用法。

11) 查询所有党员的教师号和姓名,并且按年龄从大到小排列。

SQL语句:

SELECT teachers.教师号, teachers.姓名

相关文档
最新文档