VF数据库操作与SQL实战:设计图书管理,查询与更新操作解析
需积分: 10 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的学习非常重要。
2011-06-25 上传
2009-10-22 上传
2013-09-20 上传
2011-12-23 上传
2014-09-10 上传
2008-04-06 上传
2009-06-29 上传
2008-04-27 上传
2009-03-19 上传
yi_le
- 粉丝: 0
- 资源: 18
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南