数据库的高级操作.ppt_第1页
数据库的高级操作.ppt_第2页
数据库的高级操作.ppt_第3页
数据库的高级操作.ppt_第4页
数据库的高级操作.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第5章数据库的高级操作 5 1SQL语言5 2查询5 3报表5 4标签 学习目标 了解SQL语言 熟悉SQL的查询命令 掌握查询的创建和使用查询多样化输出 掌握报表设计步骤和运行方法 了解标签的设计与使用 重点与难点 重点在于SQL的查询命令 查询输出和报表设计 难点在于报表的设计 5 1SQL语言 SQL是一种介于关系代数与关系演算之间的结构化查询语言 StructuredQureyLanguage SQL 其功能并不仅仅是查询 还具备数据定义等功能 支持关系数据库的三级模式结构 其中外模式对应于视图和部分基本表 模式对应于基本表 而内模式对应于存储文件 SQL语言的特点 1 类似于英语自然语言 容易学 2 是一种非过程语言 3 是一种面向集合的语言 4 既可独立使用 又可嵌入到宿主语言中使用 5 具有查询 操纵 定义和控制一体化功能 注意 VFP所支持的SQL语言并不是全部的SQL语言 5 1 1SQL数据定义功能 1 定义基本表2 定义视图 1 定义基本表 SQL语句如下 createtable 字段名1 类型 宽度 小数点位数 null notnull check error primarykey unique 字段名2 foreignkey字段名tag索引标识名references表名1 其中 null子句表示该字段中是否允许空值 check子句给出字段有效性规则 以及违背规则的出错信息 primary子句给出是主索引 还是候选索引 用于数据库表的定义 foreignkey子句指出关联表的外码 例5 1 定义一个学生表 并显示表的结构 c 字符型 d 日期型 n 数值型 xh 学号 xm 姓名 xb 性别 csrq 出生日期 sg 身高 createtablestudent xhc 4 xmc 8 xbc 2 csrqd sgn 3 usestudentliststructure 2 定义视图 SQL语句基本格式如下 createsqlview 视图名 asselect语句其中 视图名 指出定义的视图名 select语句 是一个定义视图的Select查询语句 编程方式使用 注意 定义视图要求数据库已经被打开 例5 2 定义视图testview opendatabase学生成绩管理createsqlviewtestview 执行该命令进入 视图设计器 3 修改表结构 表结构的字段的增加 删除或更改就是修改表结构的操作 SQL语句基本格式如下 1 修改字段属性altertable表名alter字段名1类型 宽度 小数点位数 null notnull alter字段名2类型 宽度 小数点位数 null notnull 2 删除字段altertable表名drop字段名1 drop字段名2 3 增加字段altertable表名add字段名1类型 宽度 小数点位数 null notnull add字段名2类型 宽度 小数点位数 null notnull 4 更改字段名altertable表名rename原字段名1to新字段名1 rename原字段名2to新字段名2 例5 3 在例5 1定义表的基础上 增加一个逻辑型sfdy 是否党员 的字段和一个字符型的tmp字段 再修改tmp字段为数值型字段 再将tmp字段名改为temp 最后删除temp字段 altertablestudentaddsfdyLaddtmpc 10 增加字段liststructurealtertablestudentaltertmpn 6 2 修改字段liststructurealtertablestudentrenametmptotemp 字段更名liststructurealtertablestudentdroptemp 删除字段liststructureuse 5 1 2SQL数据查询功能 VFP系统提供了Select SQL查询语句 提供了简便 快捷和灵活多样的各种查询功能 Select语句功能是创建一个指定范围内 满足条件 按某字段分组 按某字段排序的指定字段组组成的记录集 Select SQL查询语句 select all distinct from left right inner joinon 条件表达式1 where 条件表达式2 groupby Having orderby ascending dscending 其中 all 全部记录 distinct 查询结果不包含重复的行 函数 查询计算函数 from 指定查询数据源 left right inner joinon 条件表达式1 查询结果来自多个表 where 查询结果是数据源表中满足条件表达式2的记录集 groupby 查询结果按分组字段命分组 having 是将指定表满足条件表达式3 并且按分组字段名分组结果组成的记录集 orderby 查询结果按关键字表达式的值排序 asc 升序 des 降序 例5 4 在4 3 4节中创建了一个 学生成绩管理 数据库 其中有三个表 学生表 课程表和选课表 使用Select命令完成下面的查询 从学生表中创建一个查询 结果包括学号 姓名和入学年份三个字段的所有女同学 再创建一个查询 结果中包含学号 姓名 课程名和分数 并且按分数降序 select学号 姓名 入学年份from学生表SELECT选课表 学号 学生表 姓名 学生表 性别 课程表 课程名称 选课表 分数 FROM学生成绩管理 课程表INNERJOIN学生成绩管理 选课表 INNERJOIN学生成绩管理 学生表 ON选课表 学号 学生表 学号 ON选课表 课程号 课程表 课程号 orderby分数desc 5 1 3SQL数据操纵功能 SQL数据操纵是指对表中记录的插入 更新或删除等操作 1 插入命令 实现在一个表的末尾追加新记录 并给新记录的字段赋值 格式如下 insertinto values 2 更新命令 实现对所有记录或符合条件记录的字段值的更新 格式如下 updateset where 3 删除命令 实现对表中所有记录或满足条件的记录进行逻辑删除操作 格式如下 deletefrom where 例5 5 在 学生信息表 中 添加一条编号为 88888888 记录 更新添加记录的字段值 删除添加的这条记录 insertinto学生信息表 编号 姓名 性别 values 88888888 哈罗 男 browupdate学生信息表set出生日期 1980 10 3 是否党员 t where编号 88888888 browdeletefrom学生信息表where编号 88888888 brow 5 2查询 查询 Query 是一种功能强大且相对独立 能够实现结果输出多样化的操作 它可以实现对数据库中数据的浏览 筛选 排序 检索 统计等功能 同视图相比 虽然视图能够实现数据更新而查询没有该项功能 但查询结果输出形式的多样化是视图所不及的 5 2 1查询的创建 查询的创建可以直接使用SQL的Select的语句 也可以使用VFP提供的创建查询的功能实现 即使用 查询设计器 查询的创建过程与视图创建类似 查询设计器 创建查询 命令格式 createquery 查询 分单表查询和多表查询 5 2 2使用查询多样化输出 查询创建完毕 保存在 qpr的文件中 如何使用呢 可以使用VFP系统 文件 菜单 选择打开查询文件 再单击工具栏中间的红色感叹 按钮就可以运行 或在 查询 菜单中选择 运行查询 除了菜单方式外 还可以使用命令方式来执行查询 命令格式如下 do查询文件主名 qpr其中 文件的类型名 qpr不能缺省 譬如 执行分数查询可以在命令窗口输入 do分数查询qpr 之后可以看到查询结果了 查询去向设置 查询的实质 VFP的查询功能其实质也是SQL的查询语句 从 查询 菜单中选择 查看SQL 菜单项或单击工具栏的 SQL 按钮可以查看到上述查询设计的SQL语句 SELECT学生表 姓名 选课表 分数 FROM学生成绩管理 学生表INNERJOIN学生成绩管理 选课表 INNERJOIN学生成绩管理 课程表 ON课程表 课程号 选课表 课程号 ON学生表 学号 选课表 学号 WHERE选课表 课程号 01 INTOCURSORSYS 2015 存入系统临时表DO GENGRAPH WITH QUERY 图形输出形式 5 3报表 在使用数据库管理系统管理数据 经常遇到使用各种报表 报表汇集用户所需的重要信息并且按照特定的格式 因此常常被作为一种信息输出手段 在VFP中 报表具有数据源和布局两个基本组成部分 数据源是指数据库中的表 视图 查询或临时表 而布局是定义报表的输出格式 报表的设计通常使用 报表设计器 5 3 1报表设计器 命令格式如下 createreport报表文件名 报表的典型带区 工具栏 报表控件及其功能 5 3 2报表的设计 1 报表页面设置2 数据环境设置3 插入报表控件 1 报表页面设置 从 文件 菜单中选择 页面设置 命令 打开 页面设置 窗口 2 数据环境设置 报表的数据环境确定了报表中数据的来源 在数据环境设计器中空白处右击鼠标 从出现的快捷菜单中选择 添加 命令 可以添加数据表或视图 可以将数据表或视图中的字段从 数据环境设计器 中拖动到报表的带区 3 插入报表控件 在报表中可以插入标签 域 图形或图片等控件 控件的插入操作比较简单 这里仅介绍插入域控件 单击报表控件工具栏中的域控件图标后 将鼠标指针移到报表设计中需要的位置上单击一下 就会打开 报表表达式 对话框 5 3 3报表的运行 设计好的报表可以通过 报表 菜单中的 运行报表 来运行 也可以单击红色的 按钮来运行 在报表正式打印前最好选择 文件 菜单中 打印预览 命令或单击工具栏的预览图标 来预览一下设计效果 使用命令来运行报表 命令格式如下 reportform 范围 for NoConsole plain rangenStartPage nEndPage preview in windowwindowname inscreen NoWait toprinter prompt tofile文件名 ASCII 其中 NoConsole子句表示报表被打印或输出到一个文件时不显示在VFP主窗口中 Plain子句 表示只在报表开头出现页标头 Range子句 指定打印页的范围 Preview子句 表示在指定的窗口或屏幕中预览报表 Toprinter或Tofile 指定报表输出到打印机或文件 例5 6 利用 学生成绩管理 中的数据 设计一个报表文件fs report 按分数降序 设置报表的数据分组为课程号 在组注脚中添加统计人数和课程平均分的表达式 页注脚添加日期 打印人的信息 5 4标签 在日常生活 工作和学习中常常要用到标签 Label 譬如 公司年末需要向客户发送贺卡 利用存放在数据表中的客户联系方式创建标签 打印客户的通信标签贴到信封就比较简单了 由于标签的设计与报表的设计一样 下面只以一个例子来简单讲述一下标签的用法 例5 7 创建客户信封标签 客户的通信方式存放在数据表中 客户表 dbf 客户表 编

温馨提示

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

评论

0/150

提交评论