全国计算机等级考试二级_第1页
全国计算机等级考试二级_第2页
全国计算机等级考试二级_第3页
全国计算机等级考试二级_第4页
全国计算机等级考试二级_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国计算机等级考试二级Visual Foxpro教案National Computer Rank ExaminationVisual Foxpro Teaching Planning兴龙计算机教育中心内部教材作者: 邹莫泊Copyright版权所有全国计算机等级考试二级Visual Foxpro教案第一章 Visual FoxPro 数据库基础第1课知识点一计算机数据管理阶段1 人工管理阶段2 文件系统阶段3 数据库系统阶段知识点二数据库系统构成1 数据库(DATABASE)2 数据库管理系统(DBMS)3 数据库应用系统(DBAS)4 数据库管理员(DBA)知识点三数据库系统主要特点1 实现

2、数据共享、减少数据冗余2 采用特定的数据模型3 具有较高的数据独立性4 有统一的数据控制功能知识点四实体和实体间联系1 实体(对客观事物的描述) 例如: 教师、计算机、汽车等都是实体2 实体的属性(指实体的一些特性) 例如: 学生的相关属性(学号、姓名、性别等)3 实体间的联系 一对一联系/一对多联系/多对多联系 例如: 部门和职工之间的联系属于一对多联系。 练习题1 班级和班长之间的联系属于( )联系。2 顾客和商品之间的联系属于( )联系。知识点五数据库模型1 层次数据模型 用树型结构表示实体间的联系2 网状数据模型 主要优点: 表达多对多联系很灵活3 关系数据模型 用二维表来表示实体和实

3、体间的联系知识点六关系数据模型1 关系(指一张二维表格) Visual FoxPro中关系为一个表文件,扩展名为.DBF。 例如: 学生表就是一个关系,VF表示为学生表.DBF。2 元组(指二维表的一行) 例如: 学生表中学号为”1103”的记录即为一个元组因为学号唯一,所以这样的元组只有一个。3 属性(指二维表垂直方向的列) 例如: 学生表的学号、姓名、性别等都是属性属性在VF中又称为字段名4 域(指属性的取值范围) 例如: 月份取值范围是1至125 关键字(指能够唯一标识一个元组的属性) 例如: 学号是关键字,而姓名不是。 通常在VF中称这种关键字为主关键字知识点七专门的关系运算1 选择(

4、指水平方向的运算) 从关系中找出满足条件的元组称为选择 例如: 从学生表找出所有男生的记录(条件: 性别=”男”)2 投影(指垂直方向的运算) 从关系中指定若干个属性组成新的关系称为投影 例如: 从学生表中列举所有学生的姓名和家庭住址3 连接(指两个表进行连接)4 自然连接(指去掉重复属性的等值连接)练习题3 从学生表中找出所有学生的身份证号属于( )运算。4 从学生表中找出所有姓王的女生属于( )运算。第2课知识点一Visual FoxPro系统概述1 Visual FoxPro 6.0是一个32位数据库管理系统2熟悉Visual FoxPro 6.0工作界面知识点二Visual FoxPr

5、o 6.0上机主要考点1 项目管理器2 向导/设计器/生成器/命令窗口3 数据库设计4 查询和视图5 程序设计6 表单设计7 菜单设计8 报表设计9 连编应用程序第二章 Visual FoxPro程序设计基础第1课知识点一常量的类型1 数值型常量 例如: 3、-6.78、1.6E-12(表示1.6x10-12)2 字符型常量 用单引号/双引号/方括号将字符串包含 例如: “计算机”、123、ABC 注意: “”称为空串,而” “称为空格字符串。3 日期型常量 严格日期格式: yyyy-mm-dd 例如: 2008-08-08表示2008年8月8日4 日期时间型常量 完整格式: <日期&g

6、t;,<时间> 时间部分格式: hh:mm:ss AM|PM 例如: 2001-03-22,03:25:30 PM 表示2001年3月22日下午3点25分30秒5 逻辑型常量 只有逻辑真和逻辑假两个值。 VF中,。 例如: 学生表中<是否党员>字段类型为逻辑型知识点二变量的定义和使用1 变量必须以字母、汉字或下划线开头 例如: A、姓名、S_NO等都是合法的变量 而3AB、A+B则是非法变量2 变量的赋值 格式一: 变量名=表达式 例如: A=3 和 A=B+C*D都是合法的语句 而A+B=C则是非法的,左边A+B并不是变量。格式二: STORE 表达式 TO 变量列表

7、例如: STORE 5 TO X1,X2,X3 表示同时给X1,X2,X3赋值5知识点三数组的定义和使用格式: DIMENSION 数组名 或DECLARE 数组名例如: DIMENSION X(3) 上述数组包含3个元素X(1),X(2),X(3) DECLARE Y(2,3) 上述数组是一个二维数组,共包含Y(1,1),Y(1,2),Y(1,3),Y(2,1),Y(2,2),Y(2,3) 6个元素。知识点四表达式值的显示格式一: ?<表达式>例如: ?3+4*5将显示结果23格式二: ?<表达式>例如: ?计算机将显示结果计算机上述两种格式的区别:?每输出一个结果就

8、自动换行,而?不会换行。第2课知识点一常规表达式1 数值表达式 例如: 3+5*6 3+52 3+20/3 3+15%2 3+MOD(100,3) (%和MOD均表示求余数)2 字符表达式 字符串运算符: + 前后两个字符串首尾连接- 连接前后两个字符串,前字符串尾部空格移至最后。 例如: a=”Hello “ 尾部有一个空格 b=”everyone!” a+b=”Hello everyone!” a-b=”Helloeveryone! “ 尾部有一个空格3 日期时间表达式 运算符有两个: +和- 例如: 2001-03-19+10结果为2001-03-29 2001-03-19-2000-0

9、3-19结果为365知识点二关系表达式例如: a>b a<=3 a<>b a#b a!=b (<> # != 均表示不等于) “计算机”$”计算机等级考试”($表示子串包含测试) 标准信息交换码(ASCII码)大写字母 A 65 B 66 依此类推小写字母 a 97 b 98 依此类推数字0-9 0 48 1 49 依此类推空格 32 常见的比较规则:1)越早的日期越小,越晚的日期越大。例如: 2002-01-10>2001-12-282)逻辑型数据比较 规则是 .T. 大于 .F.3)字符串的比较(默认按拼音方式比较)例如: “bcd”>”ab

10、cd” “计算机”>”电脑”知识点三逻辑表达式逻辑运算符: NOT(非) AND(与) OR(或)优先级 NOT>AND>OR 运算规则表 NOT操作数 结果 .T. .F.F. .T. AND 操作数1 操作数2 结果 .T. .T. .T. .T. .F. .F.F. .T. .F.F. .F. .F. OR 操作数1 操作数2 结果 .T. .T. .T. .T. .F. .T.F. .T. .T. .F. .F. .F.例如: 6>5 OR 5<>5 AND 10<=10 最终结果为 .T.例如: 用逻辑表达式表示年龄大于18的男同学 年龄&g

11、t;18 AND 性别=”男”练习题1 将A和B的平方和赋给C,请写出两种表达式。2 定义一个3行4列的矩阵XYZ,请写出表达式。3 判断表达式A>5 AND 6>=6 OR NOT A=”A”。 4 用逻辑表达式表示年龄在18,20的学生或计算机专业的女生。 第3课知识点一数学函数1 绝对值函数 ABS(表达式)例如: ABS(-6)=62 符号函数 SIGN(表达式)当表达式为正时,结果为1当表达式为负时,结果为-1当表达式为0时,结果为0例如: SIGN(5*5)=1 SIGN(-4)=-13 平方根函数 SQRT(表达式)例如: SQRT(SQRT(81)=34 求余函数

12、MOD例如: MOD(10,3)=1 而MOD(3,10)=35 最大值MAX和最小值MIN例如: MAX(15*15,224,226)=226 MIN(“汽车”,”飞机”,”轮船”)=”飞机”知识点二字符函数1 字符串长度函数 LEN(表达式)例如: LEN(“STUDENT”)=7 而LEN(“学生”)=42 删除前后空格函数 ALLTRIM(表达式)例如: ALLTRIM(“ STUDENT “)=”STUDENT”3 取子串函数左字符串函数 LEFT(表达式,长度)例如: LEFT(“STUDENT”,3)=”STU”右字符串函数 RIGHT(表达式,长度)例如: RIGHT(“STU

13、DENT”,4)=”DENT”中间字符串函数 SUBSTR(表达式,起始位置,长度)例如: SUBSTR(“VISUAL FOXPRO”,8,3)=”FOX” SUBSTR(“VISUAL FOXPRO”,8)=”FOXPRO”4 求子串位置函数 AT(表达式1,表达式2)返回表达式1首字符在表达式2中的位置,若表达式1不是表达式2的子串则返回0。例如: AT(”FOX”,”VISUAL FOXPRO”)=8 而AT(”fox”,”VISUAL FOXPRO”)=05 字符串匹配函数 LIKE(表达式1,表达式2)若两个表达式对应字符都匹配返回 .T. 否则返回 .F.表达式1中可包含通配符*

14、和?例如: LIKE(“ABC”,”ABC”)=.T. 知识点三日期和时间函数1 系统日期和时间函数DATE() 返回当前系统日期,函数值为日期型TIME() 返回当前系统时间,函数值为字符型DATETIME() 返回当前系统日期时间2 年份/月份/天数函数YEAR(日期表达式) 返回指定日期中的年份MONTH(日期表达式) 返回指定日期中的月份DAY(日期表达式) 返回指定日期中的天数3 小时/分钟/秒函数HOUR(日期时间表达式) 返回时间的小时数MINUTE(日期时间表达式) 返回时间的分钟数SEC(日期时间表达式) 返回时间的秒数知识点四数据类型转换函数1 数值转换字符串 STR(数值

15、表达式)例如: STR(123)=”123”2 字符串转换数值 VAL(字符表达式)例如: VAL(“123”)=1233 字符串转换日期 CTOD(字符表达式)例如: CTOD(“2008/08/08”)=2008-08-084 日期转换字符串 DTOC(日期表达式)例如: DTOC(2008-08-08)=”2008/08/08”知识点五测试函数1 值域测试函数BETWEEN(表达式T,表达式L,表达式H)若T>=L AND T<=H 函数返回 .T. 否则返回 .F.若L为NULL或H为NULL 函数返回 NULL2 表文件尾测试函数 EOF()若记录指针指向表尾 函数返回

16、.T. 否则返回 .F.3 表文件首测试函数 BOF()若记录指针指向表头 函数返回 .T. 否则返回 .F.4 条件测试函数IIF(逻辑表达式,表达式1,表达式2)若逻辑表达式为.T. 函数返回表达式1的值,否则返回表达式2的值。例如: 假设X的值是5 则IIF(X>=5,X+5,X-5)的最后结果是10练习题5 计算表达式3+50+SIGN(16-SQRT(257)。6 用VF表达式表示一元二次方程的两根。7 用逻辑表达式表示所有姓王或末字为军的学生。8 用IIF函数表示A和B中的较大者。第4课知识点一顺序语句1 输入语句 格式: INPUT 字符表达式 TO 变量例如: 从键盘上输

17、入一个整数并保存到变量A INPUT “请输入一个整数” TO A2 输出语句 用?或?在屏幕上显示结果例如: 计算上例中A的平方并显示出结果 ?A*A 或 ?A*A知识点二条件语句格式1: IF <条件> THEN 语句序列ENDIF若条件为真则执行语句序列,否则结束。 格式2:IF <条件> THEN语句序列1ELSE语句序列2ENDIF若条件为真则执行语句序列1,否则执行语句序列2。例如: 输入一整数,若能被3整除则输出它的平方;否则输出它的2倍。 INPUT “请输入一个整数” TO A IF MOD(A,3)=0 THEN ?A*A ELSE ?A*2 END

18、IF知识点三分支语句语法格式:DO CASE CASE 条件1 语句序列1 CASE 条件n 语句序列n OTHERWISE 语句序列ENDCASE分别对条件1-n判断,若某个条件成立则执行相应的语句序列;若条件1-n均不成立,则执行OTHERWISE后的语句序列。例如: 输入一个分数,并根据此分数显示相应等级。 90到100 优秀 80到 89 良 70到79 一般 其余 差 INPUT “请输入一个分数” TO A DO CASE CASE A>=90 AND A<=100 GRADE=”优秀” CASE A>=80 AND A<=89 GRADE=”良” CASE

19、 A>=70 AND A<=79 GRADE=”一般” OTHERWISE GRADE=”差” ENDCASE ?”此分数对应的等级为”+GRADE知识点四循环语句语法格式:DO WHILE 条件 语句序列ENDDO若条件为真则执行语句序列,然后再判断条件,若仍为真则重复执行语句序列直到条件为假时循环结束。例如: 编程计算S=1+2+.+100的值。 S=0 K=1 DO WHILE K<=100 S=S+K K=K+1 ENDDO ?S练习题9 输入一个年份,若是闰年则输出”yes”;否则输出”no”。10 输入一个整数x,输出下列表达式的值。 x2+1 (x>0)s

20、= 2x+3 (x=0) x2-1 (x<0)11 计算1至999之间所有能被7整除的数之和。 第三章 Visual FoxPro数据库及其操作第1课知识点一建立数据库通常有三种方法:1 在项目管理器中建立数据库2 在新建对话框中建立数据库3 使用命令建立数据库 命令窗口中输入: CREATE DATABASE 数据库名知识点二打开数据库通常有三种方法:1 在项目管理器中打开数据库2 在打开对话框中打开数据库3 使用命令打开数据库 命令窗口中输入: OPEN DATABASE 数据库名知识点三删除数据库通常有两种方法:1 在项目管理器中删除数据库 删除时有两个选项: 移去和删除 移去:

21、从项目管理器中删除数据库,但对应数据库文件仍然存在。 删除: 从项目管理器中删除数据库,同时对应文件也被删除。2 使用命令删除数据库 命令窗口中输入: DELETE DATABASE 数据库名 知识点四建立数据库表通常有两种方法:1 在数据库设计器中新建表2 使用命令新建表 在命令窗口中依次输入: OPEN DATABASE 数据库名 CREATE 表名知识点五修改表结构表结构修改主要包括: 增加字段、删除字段、修改字段。通常有两种方法:1 在数据库设计器中修改表结构2 使用命令修改表结构 在命令窗口中依次输入: USE 表名 MODIFY STRUCTURE知识点六数据库表的相关概念1 字段

22、名指关系的属性名。例如: 学号、姓名等。2 字段类型和宽度 常见的类型及符号定义 字符型 C 数值型 N 浮点型 F 整 型 I日期型 D 日期时间型 T逻辑型 L 货币型 Y3 空值(记作NULL) 在数据库中表示暂未确定的值,它和数值0含义不同。 注意: 数据库中某些字段不允许空值。(例如: 学号)4 数据库表和自由表 数据库表: 在数据库设计器中创建的表。自由表: 指那些不属于任何数据库的表。可以将自由表添加到数据库中使之成为数据库表,也可以将数据库表从数据库中移出使之成为自由表。第2课知识点一浏览表记录通常有两种方法:1 在数据库设计器中浏览表记录2 使用命令浏览表记录命令窗口中依次输

23、入:USE 表名BROWSE知识点二增加记录1 APPEND命令在表的尾部增加记录,有两种格式。APPEND 和 APPEND BLANKAPPEND一次可连续输入多条新记录APPEND BLANK在表的尾部增加一条空白记录2 INSERT 命令在表的任意位置插入新记录INSERT BEFORE若不指定BEFORE,则在当前记录之后插入一条新记录;否则在当前记录之前插入一条新记录。知识点三删除记录1 逻辑删除(指作删除标记)DELETE FOR 条件若省略FOR 条件则只删除当前一条记录;否则删除满足条件的所有记录。例如: 逻辑删除学生表中年龄为20的学生记录 USE 学生 DELETE FO

24、R 年龄=202 物理删除(指真正删除记录)PACK 记录彻底被删除并且不能恢复。3 物理删除表的全部记录ZAP 全部记录被删除并且不能恢复,但表仍然存在。 知识点四修改记录REPLACE ALL 字段名 WITH 表达式 若省略ALL则只修改当前记录,否则修改全部记录。例如: 将当前表中所有学生的年龄加1 REPLACE ALL 年龄 WITH 年龄+1知识点五定位记录1 GO命令GO 记录号 | TOP | BOTTOMTOP是表头 BOTTOM是表尾例如: 定位至第5条记录 GO 52 SKIP 命令SKIP 偏移量若偏移量为正,表示向后移动;否则向前移动。若省略偏移量,表示向后移动1条

25、记录。例如: 将指针定位至倒数第3条记录的位置 GO BOTTOM SKIP -23 LOCATE 命令LOCATE FOR 条件将指针定位在满足条件的第1条记录上,若没有满足条件的记录则指向文件结束位置。LOCATE 命令常用的结构是:LOCATE FOR 条件DO WHILE FOUND()语句序列CONTINUEENDDO例如: 输出学生表中所有女生的姓名和年龄 USE 学生 LOCATE FOR 性别=”女” DO WHILE FOUND() ?姓名,年龄 CONTINUE ENDDO练习题1 创建两个数据库表,并输入至少5条记录。 学生(学号 8 姓名 10 性别 年龄) 销售(商品

26、号 5 商品名 20 价格 10.2)2 用VF命令将销售表中所有商品价格提高12.88%。3 输出学生表中所有姓王的男同学的姓名和年龄。第3课知识点一索引的分类1 主索引字段中不允许出现重复值,起主关键字作用。一个表只能建立一个主索引。2 候选索引候选索引和主索引具有相同的特性。一个表可以建立多个候选索引。3 唯一索引唯一索引保持同早期版本的兼容性,其唯一是指索引项唯一,并不是字段值的唯一。一个表可以建立多个唯一索引。4 普通索引普通索引允许字段有重复值。一个表可以建立多个普通索引。知识点二索引的建立和删除建立索引有两种方法:1 在表设计器中建立索引2 使用命令建立索引INDEX ON 索引

27、表达式 TAG 索引名 UNIQUE | CANDIDATE UNIQUE 指明建立唯一索引CANDIDATE 指明建立候选索引若上述两个都省略,表示建立普通索引。例如: 在学生表中建立一个名称为姓名的普通索引INDEX ON 姓名 TAG 姓名 删除索引DELETE TAG 索引名删除全部索引DELETE TAG ALL例如: 在学生表中删除前面建立的姓名索引 DELETE TAG 姓名 知识点三数据完整性1 实体完整性实体完整性是保证表中记录唯一的特性。Visual FoxPro中用主关键字保证数据的实体完整性。2 域完整性域完整性通常限定数据类型、取值范围、有效性规则等。例如: 年龄为整

28、型,月份取值为1至12等。3 参照完整性参照完整性反映表和表之间的关联。参照完整性规则包括更新规则、删除规则和插入规则。 练习题4 创建两个数据库表: 学生(学号 8 姓名 10) 选课(学号 8 课程号 5 成绩 3.1) 5 为学生表创建一个主索引(学号),再为选课表创建一个普通索引(学号),最后建立两个表的关联。第四章 关系数据库标准语言SQL 第1课 知识点一SQL语言概述SQL全称为Structured Query Language(结构化查询语言)知识点二SQL基本格式 SELECT 字段1,字段2,字段n FROM 表名1,表名2,表名n WHERE 条件 GROUP BY 分组

29、字段 HAVING 分组条件 ORDER BY 排序字段 ASC | DESC INTO TABLE 表名知识点三单表查询首先建立以下四个表,本章所有例子均对此操作。 仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)例1 从职工表中查询所有职工的工资 SELECT 工资 FROM 职工例2 从仓库表中查询所有记录 SELECT * FROM 仓库例3 查询工资多于1230元的职工号 SELECT 职工号 FROM 职工WHERE工资>1230知识点四多表查询例1 查询工资多于1230元的职工号和他们所在

30、城市方法一 SELECT 职工号,城市 FROM 职工,仓库; WHERE 职工.仓库号=仓库.仓库号;AND 工资>1230 方法二 SELECT 职工号,城市 FROM; 职工 INNER JOIN仓库; ON 职工.仓库号=仓库.仓库号;WHERE 工资>1230例2 查询工资多于1230元的职工向北京的供应商发出的 订购单号。 方法一 SELECT 订购单号FROM 职工,订购单,供应商; WHERE 职工.职工号=订购单.职工号; AND 订购单.供应商号=供应商.供应商号; AND 工资>1230 AND 地址=”北京” 方法二 SELECT 订购单号 FROM;

31、 职工 INNER JOIN 订购单 INNER JOIN 供应商; ON 订购单.供应商号=供应商.供应商号; ON 职工.职工号=订购单.职工号; WHERE 工资>1230 AND 地址=”北京”知识点五嵌套查询例1 查询哪些城市至少有一个仓库的职工工资为1250元 SELECT 城市 FROM 仓库 WHERE 仓库号; IN(SELECT 仓库号 FROM 职工; WHERE 工资=1250) 例2 查询所有职工的工资都多于1210元的仓库信息 SELECT * FROM 仓库 WHERE仓库号; NOT IN(SELECT仓库号 FROM 职工; WHERE工资<=12

32、10) AND仓库号; IN(SELECT 仓库号 FROM 职工)练习题1 查询在北京的供应商的名称。2 查询向供应商S3发过订购单的职工的职工号和仓库号。3 查询和职工E1、E3都有联系的北京的供应商信息。第2课知识点一特殊运算符BETWEENAND 表示在一定范围内查询例1 查询工资在1220元到1240元范围内的职工信息 SELECT * FROM 职工 WHERE 工资; BETWEEN 1220 AND 1240 上述语句的等价写法是: SELECT * FROM 职工; WHERE 工资>=1220 AND 工资<=1240 LIKE 表示模糊查询,通常和%一起使用。

33、 例2 查询供应商名中最后两字为公司的供应商信息 SELECT * FROM 供应商; WHERE 供应商名 LIKE “%公司” 上述语句的等价写法是: SELECT * FROM 供应商; WHERE RIGHT(供应商名,4)=”公司”知识点二字段排序 ORDER BY 例1 查询所有职工信息并按工资升序排序 SELECT * FROM 职工 ORDER BY 工资例2 查询所有职工信息,先按仓库号升序再按工资降序。 SELECT * FROM 职工;ORDER BY 仓库号,工资 DESC知识点三计算查询COUNT(计数) SUM(求和) AVG(平均值)MAX(最大值) MIN(最小

34、值)例1 查询供应商所在地的数目 SELECT COUNT(DISTINCT 地址); FROM 供应商 上述语句中DISTINCT表示去掉重复值例2 求所有职工的工资总数 SELECT SUM(工资) FROM 职工例3 求在WH2仓库工作的职工的最高工资 SELECT MAX(工资) FROM 职工; WHERE 仓库号=”WH2” 知识点四分组查询 GROUP BY例1 求每个仓库的职工的平均工资和仓库号 SELECT 仓库号,AVG(工资) FROM 职工; GROUP BY 仓库号例2 求至少有两个职工的每个仓库的平均工资和仓库号 SELECT 仓库号,AVG(工资) FROM 职工

35、; GROUP BY 仓库号 HAVING COUNT(*)>=2知识点五SQL的几个特殊短语1 只显示前几项记录 TOP n例如: 显示工资最高的3位职工信息 SELECT * TOP 3 FROM 职工;ORDER BY 工资 DESC 注意: 此短语必须和ORDER BY一起使用2 将查询结果存放到数组 INTO ARRAY例如: 查询所有职工信息并存放到数组A中 SELECT * FROM 职工 INTO ARRAY A 3 将查询结果存放到表中 INTO TABLE 例如: 查询所有职工信息并存放到WORKER表中 SELECT * FROM 职工; INTO TABLE WO

36、RKER 练习题4 查询所有仓库的平均面积。5 查询每个仓库中工资多于1220元的职工个数。6 查询工资低于本仓库平均工资的职工信息。第3课知识点一插入数据格式一:INSERT INTO 表名 VALUES(字段1值,字段2值,)例1 往仓库表中增加记录(“WH45”,”天津”,4500) INSERT INTO仓库VALUES(“WH45”,”天津”,4500)格式二:INSERT INTO 表名 FROM ARRAY 数组名例2 有一空表ZG,将前面数组A的数据插入到ZG中。INSERT INTO ZG FROM ARRAY A知识点二更新数据格式: UPDATE 表名 SET 字段=表达

37、式 WHERE 条件例1 将WH1仓库的职工工资提高10%UPDATE 职工 SET 工资=工资*1.1;WHERE 仓库号=”WH1”例2 将所有学生的年龄增加1岁 UPDATE 学生 SET 年龄=年龄+1知识点三删除数据格式: DELETE FROM 表名 WHERE 条件例1 删除仓库表中WH2仓库的信息 DELETE FROM 仓库 WHERE 仓库号=”WH2”例2 删除职工表的全部信息DELETE FROM 职工练习题7 插入一个新的供应商元组(S9,智通公司,沈阳)。8 删除目前没有任何订购单的供应商。9 将低于所有职工平均工资的职工提高5%的工资。第4课 知识点一创建表格式:

38、 CREATE TABLE 表名(字段1类型,字段2类型,)例如: 按如下要求创建一个学生表 学号 字符型 10 成绩 数值型 2.1CREATE TABLE 学生(学号 C(10),成绩 N(2,1)知识点二修改表格式: ALTER TABLE 表名 ADD|ALTER 字段CHECK 表达式例1 为订购单表增加一个总金额N(8,2)字段 ALTER TABLE 订购单 ADD 总金额N(8,2)例2 将订购单表的订购单号字段宽度改为10 ALTER TABLE 订购单 ALTER 订购单号 C(10)例3 为订购单表总金额增加有效性规则(总金额>100) ALTER TABLE 订购

39、单 ALTER 总金额; SET CHECK 总金额>100知识点三创建视图: CREATE VIEW 视图名 AS SELECT语句例1 创建一个视图MyView,包含WH1仓库职工信息。 CREATE VIEW MyView AS; SELECT * FROM 职工; WHERE 仓库号=”WH1”删除视图: DROP VIEW 视图名例2 删除前面创建的MyView视图 DROP VIEW MyView练习题10 为教师表的教师号增加有效性规则: 教师号最左边三位字符是110。11 为学院表增加一个字段: 教师人数(整数),同时设置有效性规则: 教师人数>=0。12 创建一个

40、视图SView,包含工资不在1000,1300的职工信息。第五章 SQL综合实例例1 学生(学号,姓名,出生日期) 选课(学号,课程号,成绩) 课程(课程号,课程名,学时)1)查询18岁以上的学生的学号和姓名。2)查询最年长的三位学生的姓名。3)查询所有含有"程序设计"四个字的课程名。4)查询选修了"数据库原理"且成绩在85分以上的学生的学号和姓名,按学号升序和姓名降序保存至STU中。5)查询每门课程的课程名和最高分。6)查询没有选修任何课程的学生的姓名。7)查询至少选修了两门课程的学生的学号和姓名。8)查询选修了课程的学生人数。9)将所有末字为&quo

41、t;军"的学生出生日期更改为1983/5/12。10)为学生表增加字段"实交学费"(整数),同时设置规则实交学费>0。解答:1) SELECT 学号,姓名 FROM 学生; WHERE YEAR(DATE()-YEAR(出生日期)>182) SELECT TOP 3 姓名 FROM 学生; ORDER BY 出生日期3) SELECT 课程名 FROM 课程; WHERE 课程名 IN(“程序设计”)4)方法一 SELECT 学生.学号,姓名 FROM 学生,选课,课程; WHERE 学生.学号=选课.学号; AND 选课.课程号=课程.课程号; AN

42、D 课程名=”数据库原理” AND 成绩>85; ORDER BY 学生.学号,姓名 DESC; INTO TABLE STU 方法二 SELECT 学生.学号,姓名 FROM; 学生 INNER JOIN 选课 INNER JOIN 课程; ON 选课.课程号=课程.课程号; ON 学生.学号=选课.学号; WHERE 课程名=”数据库原理” AND 成绩>85; ORDER BY 学生.学号,姓名 DESC; INTO TABLE STU5) SELECT 课程名,MAX(成绩) 最高分; FROM 选课,课程; WHERE 选课.课程号=课程.课程号; GROUP BY 选课

43、.课程号6) SELECT 姓名 FROM 学生 WHERE 学号; NOT IN(SELECT 学号 FROM 选课)7) SELECT 学号,姓名 FROM 学生; WHERE 学号 IN(SELECT 学号 FROM 选课; GROUP BY 学号 HAVING COUNT(课程号)>=2)8) SELECT COUNT(DISTINCT 学号) FROM 选课9) UPDATE 学生 SET 出生日期=1983-05-12; WHERE RIGHT(姓名,2)=”军”10) ALTER TABLE 学生 ADD 实交学费 I; CHECK 实交学费>0例2 工程(工程号,工

44、程名,费用)开工(工程号,零件号,数量)零件(零件号,零件名,颜色)1)查询所有和红色相关的工程的工程号。2)查询同时使用了P2、P3、P4三种零件的工程名。3)查询至少使用了两种零件的工程的工程名和费用。4)查询费用低于所有工程平均费用的工程名。5)创建视图SVIEW,包含每种零件的零件号和使用数量。1) SELECT 工程号 FROM 开工; WHERE 零件号 IN(SELECT 零件号 FROM 零件; WHERE 颜色=”红”)2) SELECT 工程名 FROM 工程; WHERE 工程号 IN(SELECT 工程号 FROM 开工; WHERE 零件号=”P2”) AND 工程号

45、 IN; (SELECT 工程号 FROM 开工WHERE 零件号=”P3”); AND 工程号 IN(SELECT 工程号 FROM 开工; WHERE 零件号=”P4”)3) SELECT 工程名,费用 FROM 工程; WHERE 工程号 IN(SELECT 工程号 FROM 开工; GROUP BY 工程号 HAVING COUNT(零件号)>=2)4) SELECT 工程名 FROM 工程; WHERE 费用<(SELECT AVG(费用) FROM 工程)5) CREATE VIEW SVIEW AS;SELECT 零件号,SUM(数量) 使用数量; FROM 开工 G

46、ROUP BY 零件号第六章 表单设计与应用第1课 知识点一对象和类1 对象客观世界里任何实体都被看作是对象。例如: 一台计算机,一个学生都可作为对象。2 类类是由一系列相同特征的对象构成的集合。例如: 学生类、汽车类、电视机类等。知识点二属性和事件1 属性属性是指对象具有的相关特征。例如: 学生相关属性有学号、姓名、兴趣爱好等。2 事件事件是指在特定环境下产生的过程。例如: 鼠标单击、键盘按键等都是事件。知识点三创建表单和运行表单1创建表单通常有两种方法:1)使用表单设计器创建表单2)使用表单向导创建表单2 运行表单通常有两种方法:1)打开表单设计器,单击工具栏上运行按钮2)在命令窗口中输入

47、: DO FORM 表单文件名 第2课知识点一标签控件Label通常在表单上用来显示静态文本。主要属性:1 Name属性表示标签的名称,每个标签的名称是唯一的。2 Caption属性表示标签上显示的文本。例1 在表单上画一个名为Mylab的标签并显示文字“计算机等级考试”操作: 1)将标签Name属性改为Mylab2)将标签Caption属性改为”计算机等级考试”知识点二命令按钮 Command通常用来完成某个特定功能如关闭表单、打印报表等。主要属性:1 Name属性和Caption属性 这两个属性和标签控件中含义完全相同。2 Enabled属性表示当前按钮是否可用,简称可用性。若,3 Visible属性表示当前按钮是否可见,简称可见性。,例1 表单上有一个名称为Mylab的标签和一个名称为Mycmd的命令按钮。点击命令按钮后标签中显示”大家好”,同时命令按钮隐藏。操作: 1)将标签Name属性改为Mylab2)将命令按钮Name属性改为Mycmd3)双击命令按钮,进入到Click事件中。 Thisform.Mylab.Capti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论