




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一讲:数据库的基本概念本讲要求:掌握数据库的相关概念:数据管理、数据库、数据库管理系统、数据库系统和数据库技术;了解数据库的特点、种类以及数据库的应用等;了解Visual Foxpro数据库的特点;熟悉Visual Foxpro开发环境。本讲重点:数据库的相关概念。Visual Foxpro开发环境。本讲难点:对数据库概念的理解以及数据库、数据库管理系统和数据库系统之间的区别联系。Visual Foxpro开发环境。授课内容:数据库产生于20世纪60年代,至今数据库技术已发展成为一个数据模型丰富、新技术内容层出不穷、应用领域日益广泛的庞大体系,数据库技术和数据库系统的应用已经遍及各个领域,奠定了数据库系统作为当今社会信息基础设施核心技术的地位。本章介绍数据的基本概念和Visual Foxpro开发环境特点。n 我们身边的数据库其它领域铁路航空售票系统银行系统数据库数据库技术1.1 数据库的基本概念一. 数据库系统的特点 n 数据结构化n 数据共享n 数据独立性n 可控冗余度二. 数据库的发展史根据数据模型的发展,数据库的发展经历了三个阶段:其共同点:1.支持三级模式(外模式、模式、内模式)。保证数据库系统具有数据与程序的物理独立性和一定的逻辑独立性;2.用存取路径来表示数据之间的联系;3.有独立的数据定义语言;4.导航式的数据操纵语言。 第一代数据库的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS和70年代美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议的网状模型。 关系模型具有以下特点:1.关系模型的概念单一,实体和实体之间的连系用关系来表示;2.以关系数学为基础;3.数据的物理存储和存取路径对用户不透明;4.关系数据库语言是非过程化的。 第二代数据库的主要特征是支持关系数据模型(数据结构、关系操作、数据完整性)。主要特征:1.支持数据管理、对象管理和知识管理;2.保持和继承了第二代数据库系统的技术;3.对其它系统开放,支持数据库语言标准,支持标准网络协议,有良好的可移植性、可连接性、可扩展性和互操作性等。 第三代的以面向对象模型为主要特征的数据库系统。三. 数据库相关的概念n 数据管理数据管理是指对数据的组织、编目、定位、存贮、检索和维护等,它是数据处理的中心问题。n 数据库是以一定的组织方式存储在一起的、能为多个用户所共享的、与应用程序彼此独立的相互关联的数据集。通俗地讲,数据库是组织、存储、管理数据的电子仓库。n 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它是指帮助用户建立、使用和管理数据库的软件系统,简称为DBMS (Data Base Management System)。DBMS使用户能方便地定义和操纵数据,并能够保证数据的安全性、完整性、并发性及发生故障后的系统恢复。DBMS通常有下列3部分构成:(1)数据描述语言(DDL),用来描述数据库的结构,供用户建立数据库;(2)数据操作语言(DML),供用户对数据库进行数据的查询(包括检索与统计)和存储(包括增、删、改)等操作;(3)其他管理和控制程序,例如安全、通讯控制以及工作日志等公用管理程序。 n 数据库系统是指在计算机中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。n 数据库技术是建立在数据库基础之上的,研究如何科学地组织和存储数据,如何高效地检索数据和进行数据处理的一门学科,它是当代信息系统的基础。1.2 数据库系统体系结构从最终数据库应用系统的作用范围和模式来看,数据库应用系统的体系结构可以分为单用户结构、主从式结构、分布式结构和客户/服务器结构。n 单用户数据库系统DBn 主从式结构的数据库系统 主机DBn 分布式结构的数据库系统n 集中的客户/服务器结构集中的C/S结构示例图服务器(DBMS)客户机,执行前台应用程序计算机网络客户机,执行前台应用程序客户机,执行前台应用程序n 分布的客户/服务器结构分布式的服务器结构服务器(DBMS)客户机,执行前台应用程序计算机网络客户机,执行前台应用程序客户机,执行前台应用程序计算机网络服务器(DBMS)客户机,执行前台应用程序客户机,执行前台应用程序服务器(DBMS)服务器(DBMS)n 浏览器/服务器结构的数据库系统简称B/S结构,它将客户端的应用程序全部移到了服务器端,前端采用浏览器和后台通信。Internet数据库服务器客户端通过浏览器访问数据库客户端通过浏览器访问数据库1.3 常用数据库开发平台简介n 支持网络数据库开发的大型数据库开发平台Oracle、DB2、SQL Server、Sybase、Informix等,这些大型数据库功能强大,具有完备的用户权限管理,支持分布式的数据库开发和高端数据库应用。 n 单机桌面关系型数据库产品有FoxPro、Access(微软Office套件中的一员)、Paradox等,这些产品短小精悍,支持简单的单机数据库产品的开发。 1.4数据库技术的发展前景n 数据库研究领域不断拓展 n 面向对象数据库 n 智能数据库 n Web数据库、数据仓库及数据挖掘 n 建立在Web平台之上的海量空间数据库的统一体数字地球解决方案 1.5Visual Foxpro开发环境简介 1.5.1 Visual Foxpro概述Visual FoxPro数据库是一个关系型数据库。 它是微软公司根据FoxBase发展起来的, 主要用于Windows环境。 Visual FoxPro集前台应用程序开发和后台数据库管理于一体,是为数据库开发而设计的功能强大、 面向对象的编程工具。 Visual FoxPro的6.0版本是Microsoft公司1998年9月推出的用于开发数据库应用的产品, 它既是客户/服务器体系结构的数据库应用程序开发工具, 又是一种面向对象的图形方式的集成开发工具。 1.5.2 Visual Foxpro的主窗口主窗口是开发应用程序的起点, 主要由标题栏、 菜单栏、 工具栏、 状态栏和命令窗口组成。 1.5.3 项目组成及项目管理器Visual FoxPro 6.0将与数据库应用相关的所有开发对象,包括数据表、 数据库、 查询、 应用程序界面(表单)、 报表以及应用程序等以项目的形式组织起来,用项目管理器来进行管理 。项目管理器是Visual FoxPro 6.0中处理数据和对象的主要组织工具, 也是Visual FoxPro6.0的控制中心。 1.5.4 VF文件组成 第二讲 数据库的建立与维护本讲要求:掌握数据表的相关概念:记录、域、候选键、主键、外键;了解数据库设计的各个阶段,掌握数据库中表之间的关系;掌握如何在Visual Foxpro环境中创建项目、数据库、数据表;掌握数据库中表的操作方法;理解索引的概念,掌握索引的创建方法;掌握表间关系的创建方法;本讲重点:数据表相关概念;数据表间的关系;数据表的创建以及进行数据添加、删除、修改操作方法。索引的创建方法;表间关系的创建方法。本讲难点:候选键、主键、外键的区别和联系;如何确定数据表之间的关系;对索引概念的理解;表间关系的创建方法以及创建后对数据表的影响。授课内容:建立数据库应用的第一步就是设计和创建数据库,数据库是数据库应用系统的基础,只有在创建数据库后,才能进行其他的数据操作。本章介绍如何在Visual FoxPro 6.0环境下手动创建和管理关系型数据库和数据表,包括数据表的创建,字段属性的设置,索引的建立及对数据表记录的增、删、改等有关操作。2.1 数据表 数据表(Table)是构成数据库的基本元素之一,是数据库中组织并存储数据的单元。在Visual FoxPro中,数据库可由多个数据表(Table)组成,数据表类似生活中常见的二维表格 。 数据表中的一行称为一条记录(Record),表示了数据表中一组相关联的信息。数据表中的一列称为一个字段(Field),字段反映了某个主题的信息。 关系数据库的关系(Relationship)体现为表之间的一种链接,即表之间按照一定的条件建立起来的联系。它允许用户不仅能从当前选定表中访问数据,而且可以访问其他表中的数据。学生情况表学号姓名性别出生日期班级联系方式2001501冯小亮男02/07/1984机械1班23301232001307王金科男03/11/1984计算机2班23307872001203刘丽丽女08/27/1983国贸1班23308902001405王海男11/20/1984计算机1班23303482001421李晓华女12/15/1983计算机2班23300052001508赵文娟女09/23/1983机械1班23303972001209张强男05/18/1984国贸1班2330566n 注意事项(1) 关系数据库要求关系中的每一条记录具有唯一性。(2) 候选键(Candidate key):对于关系中的某个属性或属性组,如果能唯一标识出一条记录,则称该属性或属性组为候选键。(3) 主键(Primary key):当关系中存在多个候选键时,可选择一个作为主键,也叫关键字。一个关系只能有一个主键。(4) 外键(Foreign key):在某个关系R中,可能有这样一组属性A,它不是关系R的主键,但它是另一个关系S的主键,则属性组A称为关系 R的外键。2.2 数据库设计 问题的提出 可行性研究 确定数据库表 确定所需字段,字段类型和其它属性1.主关键字中不允许有重复值或NULL值。2.主关键字的长度直接影响数据库检索速度,因此该字段不能太长。 确定表之间关系 一对一关系 一对多关系 多对多关系 对所设计的表分析让同学分辨下面三个表的关系。学号姓名性别出生日期班级联系方式2001501冯小亮男02/07/1984机械1班23301232001307王金科男03/11/1984计算机2班23307872001203刘丽丽女08/27/1983国贸1班23308902001405王海男11/20/1984计算机1班2330348学号名次2001501120013075班级班主任机械1班李华国贸1班李伟2.3 创建数据库 2.3.1 创建项目文件(1)选择菜单“文件”中的“新建”子菜单。(2)在“文件”菜单中选择“项目”,按下“新建文件”选项进入“创建”对话框。(3)在“创建”对话框中直接显示的是默认工作目录中的内容,在“项目文件”处输入用户的项目名称,按下“保存”按钮就建立了一个新的项目文件。2.3.2 创建数据库 以菜单的方式创建数据库的具体步骤:(1)在项目管理器中选择“数据“选项卡。(2)在“数据”选项卡中选择“数据库”,这时文件选项卡右边的“新建”和“添加”由灰变黑。(3)按下“新建”按钮,出现新建数据库对话框。(4)有数据库向导和新建数据库选择,选择“新建数据库”进入数据库创建对话框。(4)对话框中需要确定数据库的类型,名称,存储位置等信息,其中数据库的类型就是用默认的.dbc类型,存储位置是用户创建的默认位置,不需要改变,在数据库的名称处输入数据库名称。(5)单击“保存”按钮,进入数据库设计器画面。用户可以利用数据库设计器提供的功能创建各种类型的数据文件,包括数据表,本地视图,远程视图,连接和存储过程,并把它们添加到新建的数据库中。 2.4 创建数据表 在创建表之前,应首先将表中所包含的字段、字段名、字段类型、字段宽度以及字段的属性确定下来。1字段名(Name)字母,下划线,数字2字段类型(Type)3. 字段宽度4. 是否允许为空 2.4.1 设置数据字段数据类型宽度说明字符型254字节字母、数字型文本货币型固定8字节货币类型数值,如价格等数值型最大20个字节,小数位数最大为19位整数或小数浮点型等价于数值型字段同“数值型”日期型固定8字节年,月,日日期时间型固定8字节年,月,日,时,分,秒双精度型固定8字节双精度数值整型固定4字节不带小数点的数值逻辑型固定1字节真或假备注型固定4字节不定长的字母数字文本通用型固定4字节OLE(对象链接与嵌入)2.4.2 创建数据表 在Visual FoxPro 6.0中有两种表:一种是与某一数据库关联的数据库表,一种是没有与任何数据库关联的自由表,表设计器创建数据表的步骤如下:(1) 在项目管理器中,单击“数据”选项卡,选中要添加表的数据库并展开。(2) 选中“表”文件对象,单击项目管理器右边的“新建”按钮,表示在数据库中添加新表,此时出现 “新建表”对话框,在对话框中有两个按钮,其中一个是用向导来创建数据库表,另一个表示用设计器来创建数据库表。(3) 单击“新建表”按钮,进入 “创建”对话框,在此确定表的类型,表的名称和保存位置,其中位置和类型是默认的,一般不需要改变,这里主要输入表的名称。(4)单击“保存”进入 “表设计器”窗口。(5)在表设计器中,单击“字段”选项卡,然后输入每个字段的字段名称,“类型” ,“宽度” 在“索引”列中可以为字段添加索引,即选择升序或降序的排序方式。如果字段可以为空,点击NULL处即可。(6)直到所有字段均被输入。输入完后点击“确定”。这样,就创建了数据库表”。2.4.3 创建自由表自由表是独立于数据库的表,它可以不属于某个数据库而单独存在,使用自由表可以处理一些简单的问题,但是对于复杂的数据系统,单一的表是无法表示清楚的,往往需要多张相互关联的表才能真正的描述完整的数据,这时,自由表的用处就不大了,不过,我们可以将需要的自由表添加到数据库中,自由表一旦添加到数据库中就将获得数据库表的所有属性和操作方法。 创建自由表 将自由表添加到数据库中(1) 单击“文件”菜单的“打开”对话框,在对话框中选择建好的“学生选课”数据库。(2) 选中“学生选课”数据库下的“表”,单击右边的“添加”按钮,进入“打开”对话框,在列表文件中选择刚才建立的“课程情况表”。(3) 单击“确定”命令按钮关闭对话框,在项目管理其中可以看到如图2-11所示的“课程情况表”被添加到“学生选课”数据库中。当自由表添加到数据库中之后,其表设计器也变成了数据库表设计器,拥有了“标题”、“注释”、“默认值”等属性,这就是自由表与数据库表的区别。当自由表添加到数据库中,就可以拥有这些特性。 2.5 表的操作 在建立了数据表后就可以在表中编辑数据了,表中数据的编辑一般包括增加记录、删除记录,修改记录等。2.5.1 修改表的结构对于已经存在的表,可以利用“表设计器”来修改它的结构,如增加或删除字段,设置字段的数据类型和宽度,查看表的内容等。下面介绍修改表结构的方法:(1) 在“项目管理器中”选中表后单击“修改”,出现“表设计器”对话框。(2) 如果要插入字段,在表设计器中选择“插入”按钮,在“字段名”“字段类型”和“宽度”等位置分别输入新插入字段的信息。如果要修改字段,用鼠标单击相应位置进行修改。如果要删除某个字段,选中该字段后单击“删除”按钮。(3) 修改完成后单击“确定”,系统会提问“是否永久性的更改表结构”回答“是”,即改变了表的结构。2.5.2 设置字段验证规则 对于表中某些有固定范围或特定值的字段,通过设置该字段的验证规则可以防止输入非法值。2.5.3 打开表当数据表刚刚被建立后,会自动处于打开状态,除非使用“关闭”命令关闭它。关闭后,或者在下一次运行时,可以使用“文件”下拉菜单中的“打开”命令,或者“常用”工具栏中的“打开”按钮打开它,对于已经处于打开状态的表,通过“显示”下拉菜单即可进行浏览。在操作数据库表之前,首先要打开表,打开表的方式有两种: 是在浏览器窗口中打开表 是在“编辑”窗口打开表2.5.4 在表中添加记录 记录的输入可以在设计表的时候进行,也可以利用“浏览器”窗口或“编辑”窗口输入。若想在表中快速加入新记录,可以将“浏览”窗口设置为“追加”方式,方法是选择菜单“显示/追加方式”命令。在“追加”方式中,文件底部显示了一组空字段,可以在其中填入内容来建立新记录。 通用型字段的输入方式和普通字段在操作上有所不同2.5.5 设置记录验证规则 记录的验证规则可以控制输入到记录中的数据,通常用来比较同一记录中两个或多个字段的值,以确保它们遵守一定的规则。与字段验证规则不同,记录验证规则是当记录的值被改变后,记录指针准备离开该记录时被激活的。2.5.6 查看表的内容 查看表内容的最快方法是使用“浏览”窗口。“浏览”窗口中显示的内容是由一系列可以滚动的行和列组成的。打开浏览窗口后,可以定制浏览器窗口及其功能,这些功能包括改变外观,筛选表和限制字段访问等。 浏览窗口使用起来非常方便,使用滚动条、箭头键和Tab键可以来回移动表,显示表中不同的字段和记录;浏览器的外观还可以通过改变行高、改变列宽、移动列的操作来实现。2.5.7 修改记录中的字段值在浏览窗口或编辑窗口中,找到欲修改的字段值所在的单元格,直接把光标移到单元格中并编辑信息,或者选定整个单元格并键入新的信息。若要编辑“备注型”字段,可以在“浏览”窗口中双击该字段或按下Ctrl+PgDn键。这时会打开一个“编辑”窗口,可在其中修改、添加“备注型”字段的内容。在编辑任意字段后,如果光标退出该字段,则Visual FoxPro 6.0会自动保存所作的更改,在光标退出之前,还可以单击工具栏上的“撤销”按钮来撤销本次操作。 2.5.8删除和还原记录1删除记录删除操作是表的常见操作之一,对于过时的记录或者错误的记录可以将它删除,从而保证数据表的正确型和有效性。删除表中的记录有两种方法: 种是直接在表中删除 种是利用删除对话框来删除无论是直接从表中删除记录还是设置删除条件删除记录,都只是给要删除的记录打上删除标记,彻底删除表中的记录,要选择“表”菜单中的“彻底删除”,这时,会弹出一个菜单询问是否要从表中删除记录,回答“是”就会从磁盘上彻底删除记录。删除后将自动关闭浏览窗口,删除所有标记过的记录,并重新构造剩余的纪录。注意, 这个操作一定要慎重,因为被彻底删除的记录是无法恢复的。2.还原记录只是打上删除标记而没有彻底删除的记录是随时可以被还原的。还原时可以在浏览器窗口中用鼠标点击删除标记即可,也可以用“表”菜单中的“恢复记录”来还原满足条件的记录。恢复记录操作与删除记录类似,在此不再赘述。2.6 索引的创建和使用 对于已经建好的表,记录在存储时是按照输入的顺序存储的,在没有索引的情况下将按照输入的顺序进行显示记录,这种顺序为表的物理顺序。 当表中的记录数很多的时候,按照这种方法就不便于用户查找自己需要的信息,这时,可以利用索引对其中的数据进行排序,来指定记录显示的先后顺序。 排序的方法有升序和降序两种。用户可以对字符型,日期型,货币型,日期和时间型,双精度型,浮点型,数值型和整型字段进行排序,但不能对逻辑型,通用型和备注型的字段进行排序。 索引后将改变记录的顺序,以便加快检索数据的速度。可以用索引快速显示、查询或者打印记录。还可以选择记录,控制重复字段值的输入并支持表间的关系操作。在Visual FoxPro 6.0中可以建立以下四种类型的索引:(1)主索引。可确保字段中输入值的唯一性,并决定了记录的处理顺序,在主索引中字段值不能重复。在创建数据库时,除了纽带表以外,一般应根据主关键字给每一个表建立主索引。注意不能给自由表建立主索引(2)候选索引。与主索引类似,也保证表中索引值的记录是唯一的。 因为一个表只能建立一个主索引,所以当要建立多个不允许有索引重复值的索引时,可以作为候选索引,同一个表允许建立多个候选索引。 (3)普通索引。同样可以决定记录的顺序,但是允许表中有重复索引值的记录。在根据普通索引排序或查询记录时,系统将列出所有符合条件的记录。在一个表中可以加入多条普通索引。(3)唯一索引。允许表中索引值的记录不唯一,但只有第一个有相同索引关键字值的记录有效。这是为兼容旧版本而保留的一种形式。现在通过建立查询或视图也可实现同样的功能。2.7 建立和编辑表之间的关系 一个关系型数据库系统可以包含多个数据表,数据表之间存在着相互关系,所有的表通过关系可以联系在一起,用户可以通过关系来查找信息。 数据库表之间的关系有临时关系和永久关系两种 临时关系是在使用的时候创建的,关闭其中的一个表关系就被自动关闭,表之间的临时关系通常用于通过一个表记录指针的移动来控制其子表记录指针的移动。 永久关系则是随着数据库的打开而被打开,并可在“数据库设计器”中显示其连接线。这种关系不需要在使用时创建,通过链接不同表的索引,“数据库设计器”可以很方便地建立表之间的关系。因为这种在数据库中建立的关系被作为数据库的一部分而保存起来,所以称为永久关系。当用户在“查询设计器”或“视图设计器”以及在创建表单时所用的“数据环境设计器”中使用表时,这些永久关系将作为表之间的默认链接。在永久关系的基础上可以建立参照完整性,用来保证表中相关数据的一致性。 在“数据库设计器”中可以通过索引来方便的建立数据表之间的关系。 在创建表关系之前,相互关联的表要建立一些公共字段和索引,这些字段一般为主关键字字段和外部关键字字段。其中主关键字用来标识主表中的某一特定记录,即主记录,外部关键字段用于标识相关表中的相关记录。应该搞清楚相关的表中哪个表包含主记录,哪个表包含相关记录,然后在相应的表中分别建立主索引和普通索引。在包含主记录的表中应根据主关键字建立主索引,在包含相关记录的表中根据外部关键字段建立一个普通索引。 如果相关的表中没有外部关键字段,还要添加一个外部关键字段,外部关键字段通常可和主关键字段同名,其数据类型必须和主关键字字段匹配。2.7.2 编辑表间关系编辑表之间的关系主要包括关系的删除、修改和编辑关系的参照完整性。 在关系型数据库中,由于表之间彼此相关,当修改和编辑任意数据表时,它们之间的关系就可能会发生变化。例如,如果在父表中删除了一条记录,则当子表中有相关的记录时,这些记录就成了孤立的记录;当在父表中修改了索引关键字的值那么还需要修改子表中相应记录的关键字值,否则就会产生错误。反过来也一样, 在子表中增加记录时,如果所增加记录的关键字值是父表中没有的,则增加在子表中的记录也成了孤立的记录。这些情况的出现,都会破坏关系表的完整性。在Visual Foxpro 6.0中可以通过建立参考完整性,让系统自动完成这些工作,防止这些问题的出现。 所谓参照完整性,就是利用相关表之间的制约关系,互相参照,控制相关表数据的完整性。 在创建数据库时如果建立了参照完整性,在输入,删除和更改数据的时候就可以保证数据的一致性。参照完整性的规则有三种:更新规则、删除规则和插入规则,用来控制在表中插入、更改、删除记录。 第三讲 SQL语言及应用本讲要求:了解SQL语言的功能;熟练掌握Insert语句、Update语句、Delete语句、Select语句的语法规则;熟练应用Select语句进行特定要求的查询(如模糊查询、查询指定列、查询非重复数据、查询计算列、查询前N行、条件查询、查询指定范围内的数据等);掌握SQL的高级查询方法(如多表查询、多表查询数据连接、使用统计函数查询、查询分组、嵌套查询);了解嵌入式SQL的概念;熟练掌握SQL语句在Visual Foxpro中的构造方法。本讲重点:Insert语句、Update语句、Delete语句、Select语句的语法规则;应用Select语句进行特定要求的查询。本讲难点:查询非重复数据、查询计算列、查询前N行、条件查询;多表查询、分组查询、嵌套查询;授课内容:3.1 SQL概述 SQL(Structured Query Language,结构化查询语言)语言是集数据定义、数据查询、数据操纵和数据控制功能于一体的语言,具有功能丰富、使用灵活、语言简捷易学等特点。SQL语言是一个非过程语言,它的大多数语句都是独立执行的,与上下文无关;通常一个语句完成一个特定的操作功能。可以使用SQL完成各类查询的创建、表定义、表结构维护、表中记录操作等。实际上Visual FoxPro 6.0 的视图和查询就是立足在SQL语言基础上建立的。3.2 INSERT 语句 1INSERT 语句命令格式:INSERT INTO (, ) VALUES (, ) 例3-1:将一条记录插入到“学生情况表”表中,插入时只给出部分字段的值。INSERT INTO 学生情况表 (学号,姓名,性别,联系方式)VALUES (2001203,刘丽丽,2330890)例3-2:将一条记录插入到“学生情况表”表中,在插入语句中不指明列名,这时要给出全部字段的值。INSERT INTO 学生情况表VALUES (2003666,张飞, 男, 1980-02-21, 工商管理1班,2330890)3.3 UPDATE语句 1UPDATE语句命令格式UPDATE SET =,=, =WHERE 2WHERE子句的使用WHERE子句在使用时,要用具体的条件表达式代替项,条件表达式的子条件表达式可以使用逻辑与“and”、逻辑或“or”、逻辑非“not”运算。单个子条件表达式的一般表示形式为:字段变量表达式表达式 其中关系运算符可以是“=,=,=,”中的一种。例3-3:在“学生情况表”表中修改学生“刘丽丽”的“联系方式”。UPDATE 学生情况表 SET 联系方式=0292330890 WHERE 姓名=刘丽丽 例3-4:将“学生情况表”表中所有学生的“联系方式”前加上“区号”029。UPDATE 学生情况表 SET 联系方式=029+联系方式 3.4 DELETE语句 1、DELETE 语句命令格式:DELETE FROM WHERE 例3-5:从“学生情况表”表中删除学生“刘丽丽”的记录。DELETE FROM 学生情况表 WHERE 姓名=刘丽丽例3-6:删除“学生情况表”表中的所有记录。DELETE FROM 学生情况表 3.5 数据查询语言SELECT1、查询所有数据 (1)查询语句的一般格式:SELECT * FROM (2)举例:例3-7:查询“学生情况表”表中的所有数据。SELECT * FROM 学生情况表本例也相当于:SELECT 学号,姓名,性别,出生日期,班级,联系方式 FROM 学生情况表 2、查询指定列 (1)查询语句的一般格式:SELECT FROM (2)举例:例3-8:从“学生情况表”表中查询所有学生的“学号”、“姓名”、“联系方式”。SELECT 学号,姓名,联系方式 FROM 学生情况表3、查询列时设定标题名 (1)查询语句的一般格式:SELECT AS FROM (2)举例:例3-9:从“学生情况表”表中查询指定的列,并给列重新指定标题。SELECT 学号 AS “学生学号”,姓名 AS “学生姓名”,联系方式 AS 电话号码FROM 学生情况表4、查询非重复数据 (1)查询语句的一般格式:SELECT DISTINCT FROM (2)举例:例3-10:从“学生情况表”表中查询“性别”列,查询时只返回不重复的数据。SELECT DISTINCT 性别 FROM 学生情况表 5、查询计算列 (1)查询语句的一般格式:SELECT FROM (2)举例:例3-11:从“学生情况表”表中查询每个学分所占的学时数。SELECT 课程名,学时,学分,学时/学分 AS 每学分学时数 FROM 课程情况表 6、查询前N行 (1)查询语句的一般格式:SELECT TOP PERCENT * FROM (2)举例:例3-13:从“学生情况表”表中查询前50行的数据。SELECT TOP 50 PERCENT * FROM 学生情况表 ORDER BY 姓名 7、条件查询 (1)查询语句的一般格式:SELECT FROM WHERE (2)举例:例3-15:从“学生情况表”表中查询“计算机2班”的所有男同学。SELECT * FROM 学生情况表 WHERE 性别=男 AND 班级=计算机2班 8、查询指定范围内的数据 (1)查询语句的一般格式:SELECT * FROM WHERE NOT BETWEEN AND SELECT * FROM WHERE NOT IN () 查询指定范围内的数据(2)举例:例3-17:从“学生选课表”表中查询考试成绩在80分到90分之间的学生记录。SELECT * FROM 学生选课表 WHERE 成绩 BETWEEN 80 AND 90例3-18:从“学生情况表”表中查询计算机1班和计算机2班的学生记录。SELECT * FROM 学生情况表 WHERE 班级 IN (计算机1班,计算机2班) 9、模糊查询 (1)查询语句的一般格式:SELECT * FROM WHERE LIKE (2)举例:例3-19:从“学生情况表”表中查询“班级”的前三个字符是“计算机”的数据。SELECT * FROM 学生情况表 WHERE 班级 LIKE 计算机% 10、给查询数据排序 (1)查询语句的一般格式:SELECT FROM ORDER BY ASC或DESC(2)举例:例3-21:从“学生情况表”表中查询数据,并按“出生日期”对查询结果进行排序。SELECT * FROM 学生情况表 ORDER BY 出生日期 DESC 3.5.2SQL语言的高级查询 1、多表查询 (1)查询语句的一般格式:SELECT .,. FROM AS , AS WHERE .=. (2)举例:例3-23:分别从“学生情况表”、“课程情况表”和“学生选课表”3个表中查询学生的姓名、课程名和成绩,查询时注意表之间的关联。SELECT 学生情况表.姓名,课程情况表.课程名,学生选课表.成绩 FROM 学生情况表,课程情况表 ,学生选课表WHERE 学生情况表.学号=学生选课表.学号 AND 课程情况表.课程号=学生选课表.课程号 2、多表查询数据连接 (1)查询语句的一般格式:SELECT FROM UNION ALL SELECT FROM (2)举例:例3-25:从“课程情况表”和“学生选课表”两个表中实现多表查询数据连接,把“课程情况表”表的字段“课程名”和“学生选课表”表的字段“选修学期”组成一个新的字段,字段名为第一个表的字段“课程名”。SELECT 课程名 FROM 课程情况表 UNIONSELECT 选修学期 FROM 学生选课表 3、使用统计函数查询 (1)查询语句的一般格式:SELECT FROM WHERE 常用的统计函数有:sum()、avg()、min()、max()、count()。(2)举例:例3-27:分别使用统计函数max()和sum(),统计最高学分和总学分。SELECT max(学分) AS 最高学分,sum(学分) AS 总学分 FROM 课程情况表 4、查询分组 (1)查询语句的一般格式:SELECT , FROM WHERE GROUP BY (2)举例:例3-29:用GROUP BY 子句分别统计男生和女生人数。SELECT 性别,count(学号) AS 学生人数 FROM 学生情况表WHERE 联系方式 LIKE 233% GROUP BY 性别 5、嵌套查询 举例说明:例3-31:利用嵌套查询,查找选修了课程号以0开头的课程的学生学号和姓名。SELECT 学号,姓名 FROM 学生情况表WHERE 学号 IN (SELECT 学号 FROM 学生选课表 WHERE 课程号 LIKE 0%)ORDER BY 学号例3-32:利用嵌套查询,查找和刘丽丽同班同学的学号、姓名和班级。SELECT 学号,姓名,班级 FROM 学生情况表WHERE 班级 = (SELECT 班级 FROM 学生情况表 WHERE 姓名=刘丽丽)ORDER BY 学号 3.6 嵌入式SQL 3.6.1嵌入式SQL简介 1、为什么要使用嵌入式SQL?2、数据库管理系统处理嵌入式SQL方法3、嵌入式SQL在宿主语言中的一般形式4、使用嵌入式SQL时所涉及的两个重要的概念3.6.2 SQL语句在VF6中的构造方法 1、在“命令”窗口中构造SQL语句2、在“程序”文件中构造SQL语句3、在“查询设计器”中构造SQL语句 第四讲 应用程序编程基础本讲要求:熟练掌握Visual Foxpro的常用命令;掌握Foxpro编程语言的数据类型、常量、变量、表达式、函数、数组等概念;掌握Visual Foxpro程序的创建和运行方法;掌握Foxpro编程语言的顺序结构、选择结构、循环结构的语法规则;掌握过程和自定义函数的创建和调用方法。本讲重点:Foxpro的常用命令;Foxpro编程语言的顺序结构、选择结构、循环结构的语法规则,并利用其进行程序设计;过程和自定义函数的创建和调用方法。本讲难点:Foxpro的常用命令的掌握;变量、函数、数组的概念;程序设计方法;过程和自定义函数的设计和调用方法。授课内容:4.1 Visual FoxPro的语言成分Visual foxpro的语言成分包括命令,函数,表达式等。4.1.1 常用FoxPro命令介绍(1)打开数据库命令格式:OPEN DATABASE /?功能:打开指定库文件,若之前有其它库文件打开,则同时关闭掉原来已打开的库文件。(2)关闭数据库命令格式:CLOSE DATABASE功能:关闭当前打开库文件,同时也关闭了数据库中已经打开的各种文件。(3)数据库表的打开与关闭命令格式:USE 功能:打开或关闭表文件。文件名缺省的扩展名为.DBF。当不带文件名时是关闭当前打开的数据表。例4-1 OPEN DATABASE 学生选课 USE 学生情况表(4)改变默认盘和当前路径命令 格式:SET DEFAULT TO 功能:把代表的路径设置成默认盘或当前路径。可以是盘符、盘符与目录名、子目录名。(5)转换TALK状态命令格式:SET TALK ON/OFF功能:系统是否将执行结果送到显示屏上显示(6)转换打印机状态命令格式:SET PRINTER OFF/ON功能:输出结果是否将传送到打印机打印输出。(7)清屏命令格式:CLEAR ALL功能:关闭所有打开的库文件、表文件、索引文件、备注文件等,清除所有内存变量,清除所有用户自定义的菜单、窗口。(8)中止程序执行命令格式: CANCEL功能:中止正在执行的程序,把控制权返回给COMMAND窗口。(9)程序注释语句格式1: NOTE格式2: *功能:对程序做注释,不执行任何操作。(10)键盘输入单字符语句格式:WAIT“提示信息”TO功能:从键盘接受单个字符的输入(11)键盘输入字符串语句ACCEPT格式:ACCEPT “提示信息” TO功能:从键盘接受字符串的输入,不必加定界符(12)键盘输入语句INPUT格式:INPUT “提示信息” TO功能:使用户从键盘输入数据。(13)输出表达式的值格式:?/?功能:将运算结果输出(14) 表记录指针绝对移动命令格式:GOTORECORD/TOP/BOTTOM功能:GO命令可以控制指针的移动,并定位相应的纪录。命令字GO和GOTO的功能是一样的(15)表记录指针相对移动命令格式:SKIP功能:使指针从当前位置沿着记录使用顺序作相对移动4.1.2数据1数据类型Visual Foxpro的数据类型分为两大类,一类用于内存变量和数组,另一类则用于表中的字段。其中,浮点型、双精度型、整型、备注型、通用型、字符型(二进制)和备注型(二进制)只能用在数据表中。2 常量常量是一个命名的数据项,在整个操作过程中其值保持不变。分为:数值型常量,如:23,-9.7字符型常量,用单引号或双引号括起来的字符串,如:“hjhj”,王小华。逻辑型常量,只有两种:.t.和.f.日期型常量和日期时间型常量,用花括号括起来,如 1998-12-12, 2003-09-02 10:09:12 am。3 变量在命令操作或程序执行期间可任意改变其值的量称为变量。Fox
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖南-湖南护理员五级(初级工)历年参考题库典型考点含答案解析
- 2025-2030中国粘蟑螂板胶行业市场运营模式及未来发展动向预测报告
- 2025年事业单位工勤技能-浙江-浙江垃圾清扫与处理工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-浙江-浙江仓库管理员五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南水工监测工四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南动物检疫员五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河北-河北舞台技术工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏广播电视天线工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西汽车修理工(技师/高级技师)历年参考题库典型考点含答案解析
- 2020-2025年设备监理师之设备工程监理基础及相关知识自我提分评估(附答案)
- 中级职称评审述职报告
- 2025年9月-2026年1月安全工作安排表
- 2025年事业单位招聘考试建筑类综合能力测试试卷八十二:建筑工程施工监理案例分析八
- 2025年事业单位招聘考试综合类专业能力测试试卷(工程类)-建筑工程施工质量控制
- 2025年教育法学法规试题及答案
- 在接受诫勉谈话时的检讨及整改情况报告
- 汉教课堂观察汇报
- 2025年四川省高考化学试卷真题(含答案解析)
- 2025年高级(三级)评茶员职业技能鉴定《理论知识》真题卷(后附答案及解析)
- 2025年注册会计师考试财务成本管理试题及答案解析
- 《人工智能通识课基础》高职人工智能全套教学课件
评论
0/150
提交评论