第八节数据库-表之间的转换,表的基本操作

举报
资源描述
教学题目 Visual FoxPro 数据库及其操作(二)教学目标1、掌握自由表与数据库表之间的转换2、掌握添加记录的命令格式及其应用3、掌握删除记录的命令格式及其应用4、掌握修改记录的命令格式及其应用5、掌握定位的命令格式及其应用6、掌握测试函数(对表进行操作)教学内容1、将自由表添加到数据库中成为数据库表的方法及其应用2、将数据库表移去成为自由表的方法及其应用3、添加记录的命令格式及其应用4、删除记录的命令格式及其应用5、修改记录的命令格式及其应用6、定位的命令格式及其应用7、测试函数教学重点1、表之间的转换2、用命令方式删除、修改、定位记录教学难点1、用命令方式删除、修改、定位记录教学过程自由表与数据库表之间的转换一.自由表与数据库表的转换自由表与数据库表的区别:1.自由表不可使用长字段名或长表名,而数据库表可以自由表―10 个字符 数据库表-128 个字符2.自由表不可建立主索引,而数据库表可以3.自由表不可设置字段有效性,而数据库表可以1.自由表 数据库表菜单方式:要将已建好的自由表添加至某数据库中,可以先打开“数据库设计器” ,点击右键,选择“添加表”一项,如图所示。再从出现的窗口中找到相应的表名即可。这时该表即成为指定数据库的数据库表,出现在数据库设计器中。如下图所示。命令方式:ADD TABLE 表名Eg:ADD TABLE 学生表1. 数据库表自由表菜单方式:打开数据库设计器,如图所示,选择要成为自由表的表,点击右键,选择“删除”,出现如图所示对话框,移去:将表从数据库中移去,成为自由表。删除:将表从盘上永久删除,不再可恢复。取消:取消当前操作。命令方式:REMOVE TABLE 表名 [DELETE][RECYCLE][DELETE]:将表从磁盘中删除[RECYCLE]:将删除的表放入回收站中EG: REMOVE TABLE 学生表 (将学生表转换为自由表)REMOVE TABLE 学生表 DELETE (将学生表从磁盘中删除)REMOVE TABLE 学生表 DELETE RECYCLE(将学生表放入回收站中)表的基本操作一.使用浏览器操作表格式:Use 操作的表Browse在浏览窗口中可以 添加、删除、修改纪录等各项操作。添加记录:Ctrl+Y删除记录:1.逻辑删除  给记录添加逻辑删除标记 方法:表(菜单栏)/删除记录(快捷键为:ctrl+t)2.物理删除  将带有逻辑删除标记的记录从磁盘中删除 方法:表(菜单栏)/彻底删除二.使用命令操作表1. 向表中追加新记录:格式 1:append [blank]说明:(1).选 blank 选项,执行该命令后,直接在表末尾添加一条空白记录;(2).不选 blank 选项,则弹出编辑窗口,以交互窗口方式输入记录。格式 2:APPEND FROM 表文件名说明:将 FROM 后表中的记录添加在当前数据表的尾部。1. 插入记录:格式 1:INSERT BEFORE BLANK 功能:向当前表当前记录之前插入一个空白记录格式 2:INSERT BEFORE 功能:向当前表当前记录之前可插入若干条记录格式 3:INSERT BLANK 功能:向当前表当前记录之后插入一条记录格式 4:INSERT 功能:向当前表当前记录之后可插入若干条记录2. 删除表中的记录:1)逻辑删除记录格式:Delete [范围] [For 条件]功能:逻辑删除当前表中满足条件的记录,被逻辑删除的记录前有删除标记,并没有从数据库中清除,可用 Recall 命令恢复。说明:1.[范围 ]:all:当前表的所有记录( 范围缺省时的默认值)next n:从当前记录向后的 n 条记录。如:next 3 是指从当前记录向后的 3 条记录。rest:从当前记录开始到表结束所有的记录。2.如不加[for 条件]:表示逻辑删除当前记录Eg:use 职工Delete for 职工号=”E1”delete all &&逻辑删除所有记录注:delete 逻辑删除当前记录1) 物理删除记录格式:Pack功能:从磁盘中彻底删除当前表中带有逻辑删除标记的记录2) ZAP功能:清空当前表中所有记录,只保留表的结构。2. 恢复记录:格式:recall [范围][For 条件 ]功能:恢复当前表中被逻辑删除的记录Eg:use 职工recall alluse注:不加[for 条件]:recall 只恢复当前逻辑删除的记录3. 修改表中记录:格式:replace 字段名 with 内容……[For 条件]功能:修改当前表中满足条件的字段的值注:如不加[For 条件]只修改当前表中当前字段的值Eg:将 “职工”表中在“WH1”仓库工作的职工的工资提高 5%use 职工replace 工资 with 工资*1.05 for 仓库号=“WH1”use注:replace all 字段名 with 表达式:修改字段的所有值Eg:将 ”职工”表中每个人的工资提高 5%Replace all 工资 with 工资*1.054. 显示记录:格式 1:list [字段名表][ 范围][For 条件]格式 2:display [字段名表][ 范围][For 条件]功能:在 Vfp 的主窗口屏幕上显示指定记录。说明:(1).display 与 list 大部分情况下相同,区别:在不加任何选项的情况下,list为显示所有记录,而 display 为显示当前记录。Eg:use 职工 &&打开“职工”表list 仓库号,职工号 for 工资>1230 &&列出工资大于 1230 元的职工所在的仓库号,职工号5. 查询定位记录命令1) 、绝对定位GO[to][record][|]|[top]|[bottom]【功能】将记录指针移动到指定的位置Go top:将记录指针指向表中的第一条记录上Go bottom:将记录指针指向表中的最后一条记录上2) 、相对定位skip[±记录数]【功能】从当前记录开始向前或向后移动记录指针。注:记录数省略时,相当于 skip 13) 、用 LOCATE格式:LOCATE [] [FOR ] 功能:按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。参数描述:[]:指定要定位的记录范围。只有在范围内的记录才被定位。LOCATE 命令的默认范围是 ALL。[FOR ]:LOCATE 命令按顺序搜索当前表以找到满足逻辑表达式的第一个记录。CONTINUE:将记录指针指向下一条满足条件的记录上,如没有满足条件的记录,记录指针指向文件尾部(EOF)测试函数1.测试文件尾函数:格式:eof()说明:(1).该函数用于测试当前表的记录指针是否指向文件尾,是则返回真值; 否则返回假值;Eg:测试文件记录指针是否指向文件尾use 仓库go bottom ?eof().F.skip?eof().T.2.测试文件头函数:格式:bof()说明:(1).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值; 否则返回假值;Eg:测试记录指针是否指向文件头use 仓库go top?bof().f.skip -1?bof().t.3.测试当前记录号函数: 格式:recno()功能:得到当前的记录号Eg:use 仓库 ?recno()1skip?recno()2 4.测试表文件记录数函数:格式:reccount()功能:得到表的记录数Eg:测试"职工档案"表的记录数use 仓库?reccount()55.测试当前是否被逻辑删除格式:deleted()功能:返回值为.T.或.F.注: 括号内可指定被测工作区号,其范围为 1~32767, 例 deleted(2)它的功能是测试 2 号工作区中的表是否被逻辑删除.笔试题:Eg1:使数据库表变为自由表的命令是___A) DROP TABLE B)REMOVE TABLE C)FREE TABLE D)RELEASE TABLE【答案】B【解析】本题考查的是数据库表到自由表的转换。在 VISUAL FOXPRO 中使用 REMOVE TABLE 表名命令来使当前打开的数据库中指定表名的数据库表从数据库中移除,变为自由表。同理,使用 ADD TABLE 表名命令可使一个指定的自由表添加到当前打开的数据库中。Eg2:当前打开的图书表中有字符型字段“图书号” ,要求将图书号以字母 A 开头的图书记录全部打上删除标记,通常可以使用命令_____A) DELETE FOR 图书号=”A”B) DELETE WHILE 图书号=”A”C) DELETE FOR 图书号=”A*”D) DELETE FOR 图书号 LIKE ”A%”【答案】C【解析】本题考查的是数据表内容删除命令 DELETE 的使用了。在 VISUAL FOXPRO 中删除表中数据有两种方式:逻辑删除,物理删除。逻辑删除是指给暂时不使用的记录加上删除标志,使用 DELETE 命令。物理删除是把无效的记录的彻底从磁盘删除,使用 PACK 或者 ZAP 命令。本题中要求将图书号以字母 A 开头的图书记录全部打上删除标记,因此应使用DELETE 命令。该命令的语法格式:DELETE 范围 FOR 条件。其中范围可以表示对表中所有满足条件的记录都要加删除标志。省略范围后的 DELETE 语法是:DELETE FOR 条件而不是 DELETE WHILE 条件。WHILE也是对表文件指定范围内满足条件的记录进行操作,当第一次遇到不满足条件记录时停止向后运行。由上可知,选项 B 错误。选项 C 的条件中“A*” ,这里的*只是普通的字符,而不起通配符的作用,因此,A 错误。选项 D 中,LIKE 运算符不可用于传统 VFP命令中,因此,D 选项错误。A 选项中图书号=“A” ,默认情况下,用单等号比较两个字符串,只要第二个字符串是第一个字符串的前部分字符,返回值即为真,因此,A 选项符合题义。Eg3:在 VISUAL FOXPRO 中,使用 LOCATE FOR 命令按条件查找记录,当查找满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应使用___A)再次使用 LOCATE FOR 命令 B)SKIP 命令C)CONTINUE 命令 D)GO 命令【答案】C【解析】本题考查的是数据表记录的查找方法。在 VISUAL FOXPRO 中与表记录的查找和浏览有关的命令主要有:LOCATE FOR、CONTINUE、SKIP 和 GO。GO 命令是将记录指针移动到指定记录上,如:GO 5 是将记录指针移动到第 5 条记录上,GO TOP 将记录指针定位在表的第一个记录上。SKIP 命令使记录指针在表中向前移动或向后移动,例如 SKIP 2 使记录指针在表中向后移动 2 条记录,SKIP -2使记录指针在表中向前移动 2 条记录。LOCATE FOR 命令按顺序搜索表从而找到满足指定表达式的第一个记录。如:LOCATE FOR 图书号=“A”是按顺序搜索表从而找到满足图书号字段的值是以字母 A 开头的第一条记录。Locate 发现一个满足条件的记录之后,可执行 CONTINUE,从而在表的剩余部分寻找其他满足条件的记录。当执行 CONTINUE 时,搜索操作从满足条件的记录的下一条记录开始继续执行。可重复执行 CONTINUE,直到到达边界或表尾。Eg4:在 VISUAL FOXPRO 中,下列关于表的叙述正确的是___A) 在数据库表和自由表中,都能给字段定义有效性规则和默认值B) 在自由表中,能给表中的字段定义有效性规则和默认值C) 在数据库表中,能给表中的字段定义有效性规则和默认值D) 在数据库表和自由表中,都不能给字段定义有效性规则和默认值【答案】C【解析】本题是对数据表和自由表不同之处的考查。数据库表和自由表最明显的差别是在表设计器中,数据库表可以为表中的字段定义显示格式、设定显示掩码、
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号