VF数据库操作与SQL实战:设计图书管理,查询与更新操作解析

需积分: 10 3 下载量 125 浏览量 更新于2024-10-19 收藏 141KB DOC 举报
"vf复习题,涉及VF函数与SQL语句的应用" 在Visual FoxPro (VF)中,数据库管理和表的操作是核心功能。以下是一些关键知识点: 1. **打开数据库设计器**:`MODIFY DATABASE` 命令用于打开当前数据库的数据库设计器,允许用户查看和修改数据库内的表、索引等对象。 2. **打开表设计器**:`MODIFY TABLE` 命令可以打开当前表的表设计器,使用户能够编辑表的结构,如添加、删除或修改字段。 3. **显示当前记录**:`DISPLAY` 或 `LIST` 命令可以显示当前表当前记录的信息。 4. **记录操作**: - `RECCOUNT()` 函数返回表中的记录总数,如果在描述中是student表,那么`RECCOUNT()` 应返回7。 - `GOTOP` 命令将记录指针移动到第一条记录,`RECNO()` 返回1。 - `BOF()` 函数检查记录指针是否在表的开头,如果在第一条记录前,返回.T.(真)。 - `SKIP` 命令前进一条记录,所以 `RECNO()` 后续调用会返回2,再执行 `SKIP-2` 后,`RECNO()` 返回0。 - `GOTO 5` 将记录指针移到第5条记录,`RECNO()` 返回5。 - `SKIP 10` 如果表中只有7条记录,`RECNO()` 返回7,因为无法跳过不存在的记录。 - `EOF()` 函数检查记录指针是否在表的末尾,如果在最后一条记录后,返回.T.(真)。 - `GOBOTTOM` 将记录指针移动到最后一条记录,`RECNO()` 返回7。 5. **操作题解答**: - 创建“图书资料”项目并建立“图书管理”数据库,然后创建“图书”表,需考虑每个字段的数据类型(如总编号可能是字符型,分类号、单价是数值型,书名、作者、出版单位是字符型)。 - 输入记录对应给定的四条图书信息。 6. **在“图书”表中的操作**: - 显示“书名”中有“数据库”3个字的所有记录,可以使用`SELECT * FROM 图书 WHERE 书名 LIKE "*数据库*"` 的SQL语句。 - 将“科学出版社”的书的“单价”修改为原价的80%,可以使用`UPDATE 图书 SET 单价 = 单价 * 0.8 WHERE 出版单位 = '科学出版社'` 的SQL语句。 7. **在score表中的查询**: - 查询78分以上的每个学生的平均分,统计学生成绩数,结果只显示平均分在85分以上,按成绩降序排序,SQL语句如下: ```sql SELECT sno, AVG(s_score) AS 平均成绩, COUNT(*) AS 人数 FROM score WHERE s_score > 78 GROUP BY sno HAVING AVG(s_score) > 85 ORDER BY s_score DESC ``` - 其中,`sno` 是学号字段,`s_score` 是成绩字段,`HAVING` 语句用于在聚合函数后的筛选,`GROUP BY` 用于按学号分组,`AVG` 和 `COUNT` 分别计算平均分和记录数,`ORDER BY` 用于排序。 8. **SQL查询技巧**:在处理数据库查询时,熟练掌握`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`, `ORDER BY` 等子句的使用至关重要,它们是构建复杂查询的基础。对于多表查询,可能需要使用`JOIN` 操作来连接不同的表。 请注意,这些操作和查询都是在VF环境中进行的,VF是基于SQL的数据库管理系统,因此理解和掌握SQL语法对于VF的学习非常重要。