数据库操作及查询统计.pptx
《数据库操作及查询统计.pptx》由会员分享,可在线阅读,更多相关《数据库操作及查询统计.pptx(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、15.1 5.1 数据库基本操作数据库基本操作 结构显示和表的访问结构显示和表的访问 记录操作记录操作5.2 5.2 数据库可视化操作数据库可视化操作 记录的浏览与编辑修改记录的浏览与编辑修改 备注字段和通用字段的操作备注字段和通用字段的操作5.3 5.3 排序与索引排序与索引 排序操作排序操作 索引操作索引操作5.4 查询命令查询命令 顺序查询顺序查询 索引查询索引查询内容目录第1页/共84页25.5 多表的操作多表的操作 工作区工作区 表的关联表的关联 表的联接表的联接5.6 统计命令统计命令 5.6.1 计数命令计数命令 5.6.2 求和命令求和命令 5.6.3 求平均值命令求平均值命令
2、 5.6.4 汇总命令汇总命令5.7 表的复制表的复制 5.7.1 表的复制表的复制 5.7.2 表结构的复制表结构的复制 5.8 SELECT-SQL查询查询5.9 视图视图(*)内容目录第2页/共84页3(8)掌握对表中数据的四种统计命令(SUM、AVERAGE、COUNT、TOTAL)使用方法。(9)掌握SELECT查询语句的引用,能灵活根据数据查询要求组合WHERE、HAVING、ORDER BY、GROUP BY等子句并能使用INSERT INTO、DELETE FROM、UPDATE SET语句。第3页/共84页5.1.1 表结构显示和表的访问1、表结构显示格式:LIST|DISP
3、LAY STRUCTURE TO PRINT PROMPT|TO FILE NOCONSOLE说明:(1)TO PRINT PROMPT:列表结果输入打印机,后跟 PROMPT 则显示打印机设置对话框。(2)TO FILE:列表结果保存在文件中。(3)NOCONSOLE:列表结果不在屏幕上显示。(4)LIST显示的内容是连续的,而DISPLAY是分屏显示5.1 数据库基本操作第4页/共84页例:显示XSCJ数据库STUDENT表的结构。在命令窗口中输入:OPEN DATABASE USE student LIST STRUCTURE第5页/共84页屏幕上显示的表结构:第6页/共84页2、数据库
4、结构显示格式:LIST|DISPLAY DATABASE例:显示XSCJ数据库的结构。输入 命令:OPEN DATABASE LIST DATABASE第7页/共84页第8页/共84页3、表的打开与关闭 只有打开表后,才能对表进行操作。表关闭时数据会自动存盘。命令打开或关闭表 打开表:USE EXCLUSIVE|SHARED 关闭表:USE 菜单方式打开表 (工作区概念放在本章第5节介绍)第9页/共84页说明:1)打开一个表,就自动关闭该工作区原已打开的表,一个工作区同一时间只能打开一个表。2)表刚打开时,记录指针指向第一条记录。3)表操作完后应及时关闭。4)只有以独占方式打开才能对表的结构和
5、记录内容修改。或在打开表文件对话框中选定独占复选框。第10页/共84页关闭表的其它方法:其它命令:命令命令功能功能CLEAR ALL关闭所有表,释放内存变量及用户定义关闭所有表,释放内存变量及用户定义的菜单和窗口(但不释放系统变量)的菜单和窗口(但不释放系统变量)CLOSE ALL关闭所有数据库和表关闭所有数据库和表CLOSE DATABASE ALL关闭当前数据库及其中的表关闭当前数据库及其中的表自由表自由表CLOSE TABLES ALL关闭当前数据库中的表关闭当前数据库中的表自由表自由表,但不,但不关闭数据库关闭数据库退出VFP即关闭表第11页/共84页5.1.2 5.1.2 记录操作
6、表记录的基本操作有显示、修改、插入、删除、替换。表记录的基本操作有显示、修改、插入、删除、替换。1、记录显示格式:LIST|DISPLAY FIELDS FOR WHILE TO PRINTER PROMPT|TO FILE 功能:连续显示记录说明:记录范围,有NEXT、ALL、REST和RECORD记录号子句;第12页/共84页【示例】显示学生记录。USE student LIST&显示所有的记录List for 性别=女GO 3DisplayList fields 学号,姓名,所在系 for 党员=.t.&(或List fields 学号,姓名,所在系 for 党员)List to Lis
7、t to print第13页/共84页2、记录浏览(P74)格式:BROWSE FIELDS FOR FREEZE 【示例】浏览学生记录。USE student browse&浏览所有的记录browse fields 学号,姓名,所在系 freeze 姓名 for 党员=.t.第14页/共84页记录指针:用来指示表文件中记录位置的指针。当前记录:指针当前所指向的记录。3、记录指针的定位(1)指针的绝对移动命令格式:GO|GOTO RECORD GO|GOTO TOP|BOTTOM示例:USE student GO 3 DISP GOTO RECO 5 DISP GO TOP DISP学号学号姓
8、名姓名 性性别别98001李泳李泳 男男98002刘一帧刘一帧 女女98003王小敏王小敏 女女98004张大山张大山 男男98005张强张强男男98006王达王达女女98007许志忠许志忠 男男98008刘晓忠刘晓忠 男男第15页/共84页(2)指针的相对移动命令格式:SKIP+|-示例:USE student?RECNO(),BOF()&1.F.SKIP 1?RECNO(),BOF()&1.T.SKIP 1&到文件头 GO 8?RECNO(),EOF()&8.F.SKIP?RECNO(),EOF()&9.T.SKIP&到文件尾第16页/共84页4、记录的插入与追加(1)插入新记录格式:IN
9、SERT BLANKBEFORE 示例:USE student SKIP 2 INSERT BLANK SKIP INSERT BLANK BEFORE第17页/共84页(2)追加新记录(*)INSERT-SOL命令格式:INSERT INTO 表名(字段名1,字段名2,)VALUE(表达式1,表达式2,)功能:在表尾追加一条新记录,并直接给记录赋字段值。(不必事先打开表)第18页/共84页APPEND命令格式:APPEND BLANK 功能:在表尾追加一条新记录。APPEND FROM命令格式:APPEND FROM FIELDS FOR TYPE.功能:在当前表末尾追加一批记录,这些记录来
10、自于另一文 件(表、文本或EXCL文件)。第19页/共84页示例2:USE student APPE FROM STU APPE FROM STUtx1 type delimited with blank APPE FROM STUxls xls LIST第20页/共84页5、记录的删除与恢复(1)逻辑删除命令格式:DELETE FOR WHILE 功能:对当前表在指定内符合的记录加上删除标记。(2)物理删除命令格式:PACK 功能:真正删除带有删除标记的记录。示例:USE student DELETE ALL FOR NOT 党员 PACK LIST 第21页/共84页(3)记录恢复命令格式
11、:RECALL FOR WHILE 功能:对当前表在指定内符合的记录去除删除标记。(4)记录清除命令格式:ZAP 功能:物理删当前表中所有记录。示例:USE SC DELETE ALL FOR 成绩90 LIST recall for 课程号=“001”LIST 第22页/共84页6、表数据的替换(1)成批修改数据格式:REPLACE WITH ADDITIVE,WITH ADDITIVE FOR WHILE 说明:ADDITIVE用在备注字段,表示将表达式的值添加到字段的原有内容后,而不是替换。示例:REPLACE ALL 成绩 WITH 成绩+10 FOR 成绩60 LIST第23页/共8
12、4页(2)单记录与数组间的数据传送将记录传送到数组或内存格式:SCATTER FIELDS TO|MEMVAR 说明:将当前记录的字段值按顺序依次送入数组中,或依次送入一组内存变量。示例:USE student SCATTER FIELDS 学号,姓名,性别 to A?A(1),A(2),A(3)SCATTER FIELDS 学号,姓名,性别 MEMVAR?m.学号,m.姓名,m.性别第24页/共84页将数组或内存变量传送到记录格式:GATHER FROM|MEMVAR FIELDS说明:将数组或内存变量的数据依次传送到当前记录,以替换相应字段值。示例:USE student GO 4 SCA
13、TTER to A?A(1),A(2),A(4),A(6)A(6)=“MA”GATHER FROM A DISPLAY第25页/共84页(3)成批记录与数组间的数据传送将表的一批记录复制到数组格式:COPY TO ARRY FIELDSFOR WHILE说明:将当前表选定的数据复制到表数组中,不复制备注型字段。(菜单方式:文件 导出)从数组向表追加记录格式:APPEND FROM ARRY FIELDS FOR 说明:将满足条件的数组行数据按记录依次追加到当前表中。(菜单方式:文件 导入)第26页/共84页7、逻辑表的设置(1)过滤器(记录筛选,即关系的选择运算)格式:SET FILTER T
14、O 功能:从当前表中过滤出符合的记录,不符合的记录被“遮蔽”。示例:USE sc SET FILTER TO 成绩80 AND LEFT(学号,2)=“98”LIST SET FILTER TO LIST第27页/共84页(2)字段表(字段筛选,即关系的投影运算)格式:SET FIELDS TO|ALL LIKE|EXCEPT功能:设置后,只能对当前表中指定的字段(列)进行操作,其它字段被“遮蔽”,用SET FIELDS OFF解除。示例:USE student SET FIELDS TO 学号,姓名,所在系 LIST SET FIELDS OFF LIST第28页/共84页(1)两种记录显示
15、方式:)两种记录显示方式:编辑和浏览编辑和浏览通过通过“显示显示”菜单来切换菜单来切换(2)浏览窗口的操作)浏览窗口的操作命令打开浏览窗口:命令打开浏览窗口:USE BROWSE 独占方式打开表才可对表数据进行修改。独占方式打开表才可对表数据进行修改。一窗两区显示记录的操作方法。一窗两区显示记录的操作方法。browse redit partition 505.2.1 记录浏览与编辑修改5.2 数据库可视化操作第29页/共84页(3)在浏览窗口追加与删除记录)在浏览窗口追加与删除记录记录的追加:记录的追加:有有“追加方式追加方式”和和“追加新记录追加新记录”两种菜两种菜单选项操作,前者为连续追加
16、。单选项操作,前者为连续追加。记录的删除:记录的删除:先给记录打上删除标记再从磁盘上删除。先给记录打上删除标记再从磁盘上删除。即先做逻辑删除,在进行物理删除。即先做逻辑删除,在进行物理删除。第30页/共84页(1)通用型字段数据录入)通用型字段数据录入双击进入录入窗口双击进入录入窗口,插入图像、图形、声音等对象,插入图像、图形、声音等对象(2)通用型字段数据的修改)通用型字段数据的修改 进入通用型字段数据录入窗口,双击该窗口进入进入通用型字段数据录入窗口,双击该窗口进入对象文件的编辑环境修改。对象文件的编辑环境修改。注意注意对象的链接与嵌入(对象的链接与嵌入(OLE)两种方式的两种方式的区别。
17、区别。(3)通用型字段数据删除)通用型字段数据删除2、通用型字段的操作方法5.2.2 备注字段和通用字段的操作1、备注字段的操作方法 Ctrl+PgDn或双击进入,Ctrl+W存盘退出,Ctrl+Q或Esc放弃退出。第31页/共84页5.3 5.3 排序与索引排序与索引(P83)(P83)排序:表中记录按照某个字段值的大小顺序重新排列。排序后将产生一个新表,但原文件不变。5.3.1 排序操作命令格式:SORT TO ON /A/D/C,/A/D/C FOR WHILE FIELDS 示例:对STUDENT表按所在系排序。use student SORT ON 学号/d TO&按学号降序排序,并
18、将结果存入中 USE tt&打开 LIST&显示结果大小第32页/共84页(要注意区分索引与排序的差别。)5.3.2 索引操作格式1(建立.IDX单索引文件):INDEX ON TO FOR UNIQUE COMPACT ADDITIVE示例:USE sc*按学号建普通索引文件XHidx*INDEX ON 学号 TO XHidx LIST*按课程号升序建唯一索引文件KHidx*INDEX ON 课程号 TO KHidx UNIQUE LIST 1、建立索引文件第33页/共84页格式2(建立.CDX复合索引文件):INDEX ON TAG OF UNIQUE|CANDIDATE ASCENDIN
19、G/DESCENDING ADDITIVE FOR 示例:对建立各项索引。USE sc*按成绩降序建普通索引标识cj*INDEX ON 成绩 TAG cj DESCENDING LIST*先按课程号升序再按成绩升序建普通索引标识kccj*INDEX ON 课程号+STR(成绩,6,2)TAG kccj LIST*先按课程号升序再按成绩降序建候选索引标识kccj1*INDEX ON VAL(课程号)-成绩/1000 TAG kccj1 CANDIDATE 第34页/共84页2、索引文件的使用 一个表可以打开多个索引文件,但任何时候只有一个索引文件起作用,这当前起作用的索引文件就称为主控索引文件;
20、同样,对一个复合索引文件打开的多个索引标识中,任何时候都只有主控索引起作用。结构复合索引文件随着表的打开而打开。第35页/共84页单索引文件的打开和关闭(*)打开格式:1、USE INDEX 2、SET INDEX TO ADDITIVE 关闭格式(关闭表就自然关闭了索引文件):SET INDEX TO 示例:USE sc SET INDEX TO XHidx,KHidx&前者xhidx为主控索 引文件 LIST第36页/共84页确定复合索引的主控索引 格式:SET ORDER TO|TAG第37页/共84页取消复合索引的主控索引 格式:SET ORDER TO 或 SET ORDER TO
21、0删除索引 (删除文件方式来删除单索引文件)删除索引标识命令格式:DELETE TAG ALL|,重新索引 主控索引随着记录操作自动更新,而非主控索引不会,在使用该索引时需要进行重新索引。格式:REINDEX第38页/共84页5.4 5.4 查询命令查询命令5.4.1 顺序查询1、LOCATE命令格式:LOCATE FOR WHILE功能:顺序查找指定条件的记录,记录指针并定位在该记录 上。2、CONTINUE命令格式:CONTINUE功能:继续先前的LOCATE查询【示例】按指定条件定位记录。第39页/共84页USE studentLOCATE FOR 所在系=”IS”&找到第一个“IS”系
22、学生记录continue&再找到下一个“IS”系学生的记录第40页/共84页 FIND和SEEK是针对索引关键字进行查找,故使用索引查询命令前,要求查询的文件必须先建立了索引,1、FIND命令格式:FIND 功能:在索引的表文件中查询与字符表达式匹配的第一个记录5.4.2 索引查询命令(FIND和SEEK)第41页/共84页【示例】查找学号=“98004”的学生。USE studentINDEX ON 学号 TAG snott=98004FIND&ttDISPLAY记录号 学号 姓名 性别 出生日期 党员 所在系 简历 照片 4 98004 张大山 男 11/30/81 .T.CS memo
23、gen第42页/共84页2、SEEK命令格式:SEEK 功能:在主控索引的表中按索引关键字搜索满足值的第一个记录。【示例】查找学号=“98004”的学生。USE student SET ORDER TO snoSEEK“98004”DISPLAY记录号 学号 姓名 性别 出生日期 党员 所在系 简历 照片 4 98004 张大山 男 11/30/81 .T.CS memo gen第43页/共84页5.5 多表的操作多表的操作5.5.1 工作区 学籍管理使用的4个表学生情况表(STUDENT.DBF):STUDENT(学号 c(5),姓名 c(8),性别 c(2),出生日期 d,党员 l,所在系
24、 c(2),简历 m,照片 g)课程情况表(COURSE.DBF):course(课程号 c(3),课程名 c(10),学 时数 n(4),学分 n(3,1)成绩表(SC.DBF):sc(学号 c(5),课号 c(3),成绩 n(6,2)学生特长表(SPE.DBF):spe(学号 c(5),专业 c(10),外语水平 c(4),特长 c(20)第44页/共84页1、工作区号n VFPVFP提供了提供了3276732767个工作区,编号从个工作区,编号从1 1到到3276732767。a)a)每每个个工工作作区区只只允允许许打打开开一一个个表表,在在同同一一工工作作区区打打开开另另一一个个表表时
25、时,以以前前打打开开的的表表就就会会自自动动关关闭闭。一一个个表表如如果果要要在在不不同同工工作作区区中中再再次次打打开开,则则须须在在USEUSE命令中加上命令中加上“AGAINAGAIN”选项。选项。2、别名前10个工作区除使用110为编号外,还默认用AJ十个字母作为工作区别名。nVFPVFP自动使用文件名作为默认表别名。自动使用文件名作为默认表别名。n可用可用 USEUSE ALIASALIAS 来指定表别名。来指定表别名。第45页/共84页3、工作区的使用(1)SELECT&指定要打开表的工作区号 SELECT 0&选定当前尚未使用的最小 号工作区SELECT()&返回当前工作区号 别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 操作 查询 统计
限制150内