Visual FoxPro程序设计基础教程-第6章-165

合集下载

第六章 Visual FoxPro程序设计基础

第六章 Visual FoxPro程序设计基础

12
6.1.3 程序文件的编译和执行(1)
1. 编译 编译是将源程序转换成目标程序。 编译有命令和菜单两种方式。 (1)命令方式
– 命令格式:
Compile <程序文件名>|?
– 命令功能:对指定的程序文件进行编译。
(2)菜单方式
详见课本6.1.3节
13
6.1.3 程序文件的编译和执行(2)
2. 执行 程序文件输入存盘或再经编译后,系统可自动连 续执行文件中的每条命令或语句。 程序文件的执行有命令和菜单两种方式。 (1)命令方式
姑娘爱小伙(搞笑版)
if( boy.有房() and boy.有车() ){ boy.set(nothing); return girl.嫁给(boy); } else{ 年龄++; girl.感情--; } return girl.goto( another_boy);
}
6
result love(boy, girl ){ if( boy.有房() and boy.有车()){ boy.set(nothing); return girl. 嫁给(boy); } if( girl.愿意等 ()){ while(!(boy.赚钱 > 100,000 and girl.感情 > 8 )){ for ( day=1; day <=365; day++){ if( (day == 情人节 or day == girl.生日)& and boy.givegirl(玫瑰)) girl.感情++; else girl. 感情--; boy.拼命赚钱(); }//for }//while if( boy.有房() and boy.有车() ){ boy.set(nothing); return girl.嫁给(boy); } else{ 年龄++; girl.感情--; }//if愿意等 return girl.goto( another_boy); }

VisualFoxPro程序设计 第6章结构化程序设计

VisualFoxPro程序设计 第6章结构化程序设计
1.菜单方式 ? 单击“文件”|“新建”命令,在弹出的“新建”对话框中,
选择文件类型为“程序”,然后单击“新建文件”按钮,即可 打开如图所示的程序编辑窗口。
? 在编辑窗口中可以逐条输入命令,程序文件建立好后,可以单 击“文件”|“保存”命令来保存该程序文件。
Visual FoxPro 6.0 程序设计.课件
? 其中各参数的说明如下:
? [<提示信息 >]表示在等待用户输入时,在屏幕上显示的提示 内容,通常是一个字符串,需用单引号、双引号或方括号作 为定界符括起来,也可以是字符串变量。若省略该项,屏幕 上显示的是系统默认的提示信息“按任意键继续……”。
? [TO < 内存变量 >]表示将输入的单个字符赋给内存变量。输 入字符时,不需输入字符的定界符,否则内存变量得到的是 第一个定界符;若未输入字符就按回车键或单击鼠标,则内 存变量得到空值。若省略该项,则输入的字符不能保留。
第6章 结构化程序设计
? 6.1 程序文件 ? 6.2 程序控制结构 ? 6.3 过程与过程调用 ? 6.4 程序的调试
提示:单击各个标题前的动画符号“ ” ,链接到相应的章节。
Visual FoxPro 6.0 程序设计.课件
-1-
前页 后页 首页
? 在程序设计的方法中,结构化程序设计是程序设 计的基本方法。结构化程序设计的基本思想是逐 步求精、模块化和自顶向下,将一个复杂的程序 系统的设计任务分成多个易于控制和处理的子任 务,每个子任务都是可独立编程的子程序、过程 或函数模块。其程序控制结构有顺序结构、分支 结构和循环结构三种。
Visual FoxPro 6.0 程序设计.课件
Visual FoxPro 6.0 程序设计.课件

第6章Visual FoxPro 6.0程序设计初步

第6章Visual FoxPro 6.0程序设计初步

6.1.3 程序文件的执行
建立程序文件的目的是为了执行它。执行Visual FoxPro 6.0中的程序文件同样可以分为3种方式。 方法一:命令方式。 格式:DO 程序文件名 功能:将指定的文件调入内存并运行。 DO命令不仅可以运行程序文件,也可以运 行查询以及将在后面学习的表单。不过,系统默 认的是运行程序文件,也就是说,如果DO命令 后面的文件名没带扩展名,则系统默认为是 “.prg”。
1.IF语句 单向分支又称为“简单分支”,即根据用户设置的条件 表达式的值,决定某一操作是否执行。 格式: IF<条件表达式> <语句行序列1> ELSE <语句行序列2> ENDIF 功能:首先计算条件表达式的值,当表达式的值为真时, 执行语句行序列1之后执行ENDIF后的语句,当条件表达 式的值为假时,执行程序段,如果没有语句行序列
6.3 面向过程的结构化的程序设计
“面向过程的结构化的程序设计”一般简称为“面向过程 的程序设计”,或“结构化的程序设计”。它是用结构 化的编程语句编写程序,其基本思路是将一个复杂的程 序分成若干个较小的过程,每个过程都可以单独地设计、 修改、调试。其程序流程完全由程序设计者控制,使用 时用户只能按照程序设计者设计好的程序来处理问题。 在Visual FoxPro 6.0中,结构化程序设计主要依靠系统提 供的结构化语句构成,程序的基本结构有3种: 顺序结构; 分支结构; 循环结构。 这3种结构中的每一种基本结构可以包含一个或多个语句, 而且3种结构可以嵌套,如在分支结构中也可以包括循环 结构或顺序结构。源自6.1.1 程序文件的建立
建立程序文件,既可以通过菜单方式,也可以通过命令 方式。 方法一:命令方式。 格式:MODIFY COMMAND<文件名> 功能:新建一个程序文件。 方法二:菜单方式。 (1)选择菜单中的【文件】/【新建】命令。 (2)在【新建】对话框中选取文件类型为“程序”,再 单击【新建文件】按钮,打开【程序编辑】窗口,在其 中输入相应内容。 方法三、在项目管理器中建立程序文件。 (1)在项目管理器中,选中【代码】选项卡中的【程序】 按钮。 (2)单击【新建】命令。

Visual FoxPro程序设计基础第6、7、8、9章简明教程PPT课件

Visual FoxPro程序设计基础第6、7、8、9章简明教程PPT课件
《新编计算机基础教程(Windows 7+Office 2010版)》
高等学校计算机应用规划教材 第2章 组成
第 七 章 报表设计
《新编计算机基础教程(Windows 7+Office 2010版)》
高等学校计算机应用规划教材
第2章 组成
主 要 内 容
7.1 7.2 建立报表 快速报表
7.1.1 报表向导
《新编计算机基础教程(Windows 7+Office 2010版)》
高等学校计算机应用规划教材
第2章 组成
1. 打开报表向导 ① 在“项目管理器”的“文档”选项卡中 选择“报表”项目,单击“新建”按钮, 进入“新建报表”对话框,点击对话框中 的“报表向导”按钮,即出现 “向导选取” 对话框。 另一种方法是选择“文件”菜单中的“新 建”命令,弹出“新建”对话框,在对话 框中选中“报表”单选框。
《新编计算机基础教程(Windows 7+Office 2010版)》
高等学校计算机应用规划教材
第2章 组成
数据库应用系统中经常需要制作大量的报 表,用于输出总结数据。实际应用中的报 表种类繁多,样式丰富,采用传统的编程 方法编写报表打印程序是一件既枯燥乏味 又麻烦困难的工作。Visual FoxPro提供了强 大的报表设计功能,使得人们可以快速简 便地完成这项工作。 本章结合报表设计实例,着重介绍使用 Visual FoxPro的报表向导、快速报表功能以 及报表设计器来设计普通报表、多表报表 以及定制报表的方法和步骤。
《新编计算机基础教程(Windows 7+Office 2010版)》
高等学校计算机应用规划教材 第2章 组成
例:查询教“数据库”课的教室姓名、职称、 课程名、授课班级四个字段(职工表、课程 表、授课表)

Visual FoxPro 9.0 基础教程第6章 程序设计基础

Visual FoxPro 9.0 基础教程第6章 程序设计基础
内存变量的操作
保存内存变量 格式:save to <内存变量文件名>[all like/except <内存变量名表>] 删除内存变量 格式一:release <内存变量名表> 格式二:release all [like/except <内存变量>] 恢复内存变量 格式:restore from 内存变量文件名
“海南 医学院”

删除尾部空格后联接两个字符型数据
“海南 ”-“医学院”
“海南医学院”
$
比较,查看一个字符串是否在另一个字符串中
“海南”$“海南医学院”
.T.
6.2.3 关系表达式
运算符
功能
表达式
表达式值
<
小于
3*5<20
.T.
>
大于
3>1
.T.
=
等于
3*6=20
内存变量的操作
内存变量赋值 格式一:STORE <表达式> TO <内存变量名>|<数组表> 例: STORE "visual foxfro" TO vfp,vf STORE 1+3 TO A1,B2,C3 格式二:<内存变量>|<数组>=<表达式> 例: vfp="visual foxfro" vf="visual foxfro" A1=1+3
6.1.4 变量分类
系统变量(System Variable) 它是系统内部定义的一些变量。这些变量名称是系统已经定义好的,以“_”(下划线)开头。如:_BROWSER 对象变量(Object Variable) Visual Foxpro是一种面向对象的语言,所以系统提供一种称之为对象的变量。存储对象的变量,是一种新变量。

Visual FoxPro程序设计教程VFP 第6章

Visual FoxPro程序设计教程VFP 第6章
@ <行,列>
[SAY [<表达式>][PICTURE <模式符串>][FUNCTION <
功能符串>] [ GET <变量> [PICTURE <模式符串
>][FUNCTION <功能符串>]][DEFAULT <表达式>] [WHEN<逻辑表达式>] [RANGE <表达式1> ,[<表达式2>] [VALID <逻辑表达式>] [READ]
功能:从屏幕上指定位置开始显示GET变量的值并可接 受输入新值。
说明:
① GET后面的变量可以是字段变量,但要先打开数据表。
② GET后面的变量可以是内存变量,但要先定义(赋初值)。 ③ READ用于激活屏幕,使当前所有的GET能接受输入(修改),不 需要修改按回车键。
④ RANGE 限定变量(C,N)的取值范围,只有在数据修改后才 检验
本文件中。当运行程序时,系统会按照一定的次序自动执行 包含在程序文件的命令。程序方式的特点: 可以利用编辑器,方便地输入、修改和保护程序。 可以用多种方式、多次运行程序。
执行
1.程序文件的建立与修改
以命令方式建立、编辑程序文件 MODIFY COMMAND [<程序文件名> | ?]
当程序文件被执行时,文件中包含的命令将被依次执行
,直到所有的命令被执行完毕。但当执行到程序文件中的以
下命令时会终止执行或改变执行循序:
① CANCAL:终止程序运行,清除所有的私有变量,返回命令 DO:转去执行另一个程序。 RETURN:结束当前程序的执行,返回到调用它的上级程序 QUIT:退出Visual FoxPro系统,返回到操作系统。 窗口。 ② ③

VEP程序设计知识

VEP程序设计知识

第6章程序设计基础Visual FoxPro 命令的执行分为命令工作方式(或交互工作方式)和程序工作方式。

命令工作方式是通过菜单选择的方法或在命令窗口中逐条输入命令的方法来执行的;程序工作方式是根据解决实际问题的需要,将一系列符合Visual FoxPro要求的命令按一定的逻辑结构编排成一个完整的应用程序,然后输入到计算机内自动地、连续地加以执行。

在Visual FoxPro中,支持两种类型的编程。

一种是早期FoxPro和Xbase语言所支持的过程编程方式,另一种是面向对象的编程方式。

过程方式就是用结构化编程语言来编写结构化的程序,它把一个复杂的程序分成较小的过程,每个过程可以单独进行调试。

面向对象的编程方式是用面向对象的技术编程,它把编程工作主要集中在描述的对象上,程序是事件驱动的,在执行过程中,等待的是一个事件。

一般来说,对于制作简单短小的应用程序,使用过程编程方式比较容易,同时,这也是面向对象编程方式的基础。

本章重点介绍面向过程的程序设计,同时也穿插介绍面向对象的一些问题举例(面向对象程序设计能够给用户提供友好的界面),使广大用户能够充满兴趣地学好这一章。

进行程序设计一般要经过以下步骤,如图6-1所示。

图6-1 程序设计步骤(1)分析问题或任务,总结或抽象出问题的数学模型。

(2)根据数学模型确定解决问题的算法思想。

(3)根据算法思想确定要建立的数据表或数据库的基本结构及其数据表之间的关系。

(4)画出程序流程图。

(5)编写程序,实现功能要求,并在计算机上调试通过。

(6)用典型数据对所编写的程序进行测试,验证程序的可靠性。

发现问题进行修改,修改后再进行调试,直到程序正确运行为止。

(7)编写使用说明书,整理有关资料,进行总结。

注意,对同一个问题,在计算机上可以用多个方法、多种命令形式来编程解决,用户应选择自己较为熟悉、效率高的命令。

另外,本章结合例题,对每一种典型结构给出一个程序流程图,以便于用户理解。

《Visual Foxpro 6.0程序设计基础教程》教学课件 VF第6单元

《Visual Foxpro 6.0程序设计基础教程》教学课件 VF第6单元
【命令说明】 如省略WHERE子句,那么更新全部记录。
程序设计基础教程
三、删除记录命令
程序设计基础教程
【命令格式】
DELETE FROM tablename [WHERE condition]
【命令说明】 此命令为逻辑删除记录,假设希望将记录从表中真正删除,应在执行
DELETE命令后再执行PACK 命令,此操作称为物理删除。
二、修改表结构命令 〔1〕添加字段的命令格式
程序设计基础教程
ALTER TABLE tablename1 ADD fieldname1 fieldtype [(fieldwidth [, nprecision])] [NULL | NOT NULL] [CHECK lexpression1 [ERROR cmessagetext1]][DEFAULT eexpression1] [PRIMARY KEY | UNIQUE] [REFERENCES tablename2 [TAG tagname1]]

程序设计基础教程
INSERT INTO tablename FROM ARRAY arrayname | FROM MEMVAR
【命令说明】 SQL语言用INSERT 命令向表中添加数据,反复使用该命令可添加多行 数据,新记录追加在表的尾部。
二、更新记录命令 【命令格式】
UPDATE tablename SET column_name1=eexpression1 [, column_name2=eexpression2, …] [WHERE column_name3=eexpression3]
cmessagetext1]] [DROP DEFAULT ] [DROP CHECK]
〔3〕删除或重命名表中字段的命令格式

Visual FoxPro程序设计基础教程(第二版))第6章

Visual FoxPro程序设计基础教程(第二版))第6章
(1)用“表单设计器”创建或编辑表单。 (2)将表单ShowWindow属性设置为“2-作为顶层表单”。
2015-2-15 19
2. 显示位于顶层表单中的子表单
如果所创建的子表单中的ShowWindow属性设置为 “1-在顶层表单中”,则不需直接指定一顶层表单 作为子表单的父表单。而是在子窗口出现时,指定 子表单成为父表单。 若要显示位于顶层表单中的子表单,可以:
2015-2-15 20
3. 隐藏Visual FoxPro主窗口
在运行顶层表单时,可能不希望Visual FoxPro主窗 口是可视的。使用应用程序对象的Visible属性,按 要求隐藏或显示Visual FoxPro主窗口。 若要隐藏Visual FoxPro主窗口,可以:
(1)在表单的Init事件中,包含下列代码: Application.Visible=.F. (2)在表单的Destroy事件中,包含下列代码: Application.Visible=.T.
例如,可以使用下列代码调用名为mySDImenu的菜 单:
2015-2-15
DO mySDImenu.mpr WITH THIS, .T.
22
6.1.3 用表单集扩充表单
可以将多个表单包含在一个表单集中,作为一组处 理。表单集有以下优点:
(1)用“表单设计器”创建或编辑表单。 (2)可将表单的ShowWindow属性设置为以下值之一:
1)0:在屏幕中。浮动表单的父表单将出现在VFP主窗口。 2)1:在顶层表单中。当浮动窗口显示时,浮动表单的父表单将是 活动的顶层表单。
(3)将表单的Desktop属性设置为“真”。
若要指定顶层表单,可以:
• 若将浮动表单最小化时,它将显示在桌面的底部。 • 如父表单最小化,则浮动表单也一同最小化。

VisualFoxpro程序的设计教程第六章

VisualFoxpro程序的设计教程第六章
6.4.2 删除记录
1.命令格式: DELETE FROM [〈数据库 名〉!]〈表名〉 [WHERE 〈条件表达 式〉] 2.功能:从指定表中,根据指定的条件逻 辑删除记录。
2019/11/11 滕永晨* 25
6.4.3 更新记录
第6章
1.命令格式: UPDATE [〈数据库名〉!] 〈表名〉SET 〈字段名1〉=〈表达式1〉 [,〈字段名2〉=〈表达式2〉…] [WHERE〈逻辑表达式〉]
第6章
1.SQL语言具有如下特点: 2.SQL是一种一体化的语言。 3.SQL语言是一种高度非过程化的语言。 4. SQL语言非常简洁。 5. SQL语言可以直接以命令方式交互使用, 也可以嵌入到程序设计语言中以程序方式 使用。
2019/11/11 滕永晨* 4
第6章
6.2 数 据 定 义
有关数据定义的SQL命令分为3组,它们 是 建 立 (CREATE) 数 据 库 对 象 、 修 改 (ALTER) 数 据 库 对 象 和 删 除 (DROP) 数 据 库对象。每一组命令针对不同的数据库对 象(如数据库、查询、视图等)分别有3个命 令。
2019/11/11 滕永晨* 8
第6章
6.2.3 修改表结构
1.格式1:ALTER TABLE 〈表名1〉 ADD|ALTER [COLUMN] 〈字段名〉 〈字段类型〉[(〈宽度〉[,〈小数位 数〉])]… 2.功能:可以添加(ADD)新的字段或修改 (ALTER)已有的字段,它的句法基本可以与 CREATE TABLE的句法相对应。
2019/11/11 滕永晨* 7
第6章
1.6.2.2 删除表
2.命令格式:DROP TABLE 〈表名〉
3.功能:DROP TABLE命令直接从磁盘上 删除所指定的表文件。如果指定的表文件 是数据库中的表并且相应的数据库是当前 数据库,则从数据库中删除了表。否则虽 然从磁盘上删除了表文件,但是记录在数 据库文件中的信息却没有删除,此后会出 现错误提示。

第六章 VFP6.0程序设计基础

第六章 VFP6.0程序设计基础

第六章VFP6.0程序设计基础第六章Visual FoxPro6.0程序设计基础上一章下一章返回VFP教学主页引言章本章介绍FoxPro程序设计,这是本课程的重点内容。

前面所学的选单方式和命令交互方式固然重要,但为了末端用户、为了简化和优化具体问题的操作,需要将选单方式或命令交互方式的步骤记录下来,成为方便使用的程序(软件)。

本章分为:6.1 程序文件6.2 程序的控制结构6.3 模块化程序设计6.4 事件处理6.5 常见计算和字符图形编程实例工具: ☆FoxBase ☆FoxPro 2.5 ☆VFP 6.0 ☆写字版☆绘图板☆DOS状态6.1 程序文件下一节前几章介绍了FoxPro的命令、若干函数及FoxPro的交互执行方式,交互执行方式能灵活地解决即席提出的问题,为用户使用数据库提供了很大便利。

但交互执行方式要求用户掌握较多的计算机知识:对非程序员用户、或称为未端用户而言,由于这些用户大多为组织中的各级管理人员,要求他们掌握较多的计算机知识是比较困难的。

FoxPro还提供另一种执行方式,即程序方式。

所谓程序方式是指计算机程序人员根据用户功能需求,将FoxPro的操作命令组织成程序,未端用户通过运行程序完成预定功能,同时程序方式还能解决一些复杂的问题,所以对于成功的数据库管理系统而言,交互方式和程序方式互为补充,缺一不可。

在FoxPro的程序方式中,通过流程控制等语句,将前几章介绍的命令或函数组织成程序,程序方式中的命令也称为语句。

程序组织在命令文件或过程文件中。

命令文件和过程文件的区别在于,在命令文件中只包括一个可执行的程序,多个程序组织在一文件中构成过程文件。

过程文件中的每个程序也称为一个过程。

本书将命令文件和过程文件统称为程序文件,本章讨论程序的构造及运行。

命令文件和过程文件都是文件扩展名为.PRG的文本文件,这两种文件统称为程序文件。

程序文件可用任何一种编辑程序建立和修改,FoxPro系统本身也包含了编辑程序,使用该编辑程序可在FoxPro系统内编辑修改程序文件,和调用其它编辑程序相比,减少了在FoxPro系统和系统外编辑程序之间切换的开销。

FOXPRO程序设计入门

FOXPRO程序设计入门

第六章 Visual FoxPro程序设计入门 4.清屏命令--CLEAR 命令格式:CLEAR 命令功能:本命令将清除 VFP 主窗口或当前用户自定义窗 口。
该命令常用于应用程序某模块的开头,或在各输出命令前
使用。
第六章 Visual FoxPro程序设计入门 5.终止程序执行语句——CANCEL 命令格式:CANCEL 命令功能:该语句将终止正在执行的程序,把控制权返回 给COMMAND窗口。CANCEL将释放所有局部性内存变量 (见 6.7.3节)。 在程序设计中,常用CANCEL语句在某种条件满足时终止
② 信息框显示问号图标。 ③ 第一个按钮,即“是”按钮为默认按钮。
<字符串表达式2>指定对话框标题栏中的文本,若省略该字符串,标题 栏中将显示“Microsoft Visual FoxPro”。 例如,执行如下命令: MESSAGEBOX("现在了解MESSAGEBOX( )函数的使用方法了吗?",35, "MESSAGEBOX( )使用示例")
默 认 按 钮
256 512
第六章 Visual FoxPro程序设计入门 当省略<数值表达式>时,等同于指定<数值表达式>值为0。
<数值表达式>值实际上是三个值的和,即从表6-1、6-2、6-3 中各选一个值的和。例如,若 < 数值表达式 > 为 35,即 (3+32+0) , 则显示的对话框含有如下特征: ① “是”、“否”和“取消”按钮。
修改两字段值。
第六章 Visual FoxPro程序设计入门 6.4.3 其他键盘输入语句 1.键盘输入单字符语句——WAIT 语句格式:WAIT ["提示信息"] [TO <内存变量名>] WAIT语句首先显示“提示信息”(若语句中有提示信息项, 则显示语句中给定提示信息;否则,显示WAIT语句固有提示 信息:按任一键继续......),接着暂停程序的执行,等待用户键 入另一键。 用户按下另一键后,这个键的值(若是回车键或不能打印 键或组合键,值为空串)作为一个单字符字符串,送<内存变量 名>(若选择了TO子句的话,它可以是一个内存变量,也可以 是一个下标变量。如果内存中不存在,则自动生成之)。WAIT 语句执行完毕,程序继续执行。

VisualFoxpro程学设计教程(第二版)课件第六章资料

VisualFoxpro程学设计教程(第二版)课件第六章资料

单个字符接收命令
若指定WINDOW短语,将显示一个窗口显示提示信息。 通常,窗口显示在屏幕的右上角。若用AT <行>,<列 >短语,可指定窗口的位置。
TIMEOUT <数值表达式>短语,用来设置等待用户输入
的时间,以秒为单位。如果在指定的时间内用户未输 入任何字符,系统将自动执行后面的命令。
单个字符接收命令
SET TALK ON/OFF
许多命令在执行时会返回一些执行状态的信息 这些信息通常会显示在窗口或状态栏中 开启或关闭人机会话
设置环境参数命令 SET DEFAULT TO <路径> 设置默认的文件路径
6.2 程序的基本结构
程序的基本结构
结构化程序设计是根据给定的任务,设计、编写 和调试出完成该任务的过程。 结构化程序设计的基本思想是采用“自顶向下, 逐步求精”的程序设计方法和“单入口单出口” 的控制结构。
字符串接收命令
<提示信息>是一个字符型表达式。执行此命令时, 该表达式的内容作为提示信息,显示在屏幕上。 若缺省此项,则不显示提示信息。 由于此命令接收到的任何数据都会作为字符串。 用户在输入数据时,不需要输入字符串定界符。 若用户不输入任何数据,直接按回车键,则系统会 将对内存变量赋值为空串。
例题
例题:双分支选择语句
某地的计程车收费规则为:不超过2公里时,一 律收取6元。超过部分每公里加收1.8元。
编程根据行车里程计算应付车费。
INPUT '请输入里程数' TO x
&&接收要计算的行车里程
IF x<=2 &&判断x是否超过2公里
y=6
&&将车费赋值为6元
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章 关系数据库查询语言SQL
№6
删除数据表
• 命令格式:
Drop table <表名>
视图的定义和删除
• 定义视图
Create view 视图名 as Select ……
• 查询视图
Select … from 视图名
• 删除视图
Drop view 视图名
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№7
SQL数据查询
数据查询是对数据库中的数据按指定的内容和顺 序进行检索输出。SQL语言中的唯一查询语句为 select语句,其基本格式如下:
• Select <列名表> from <表名> • 功能:从指定表中查询指定列的值。 • 说明:
列名:即字段名,可为一至多个字段,若是所有字段,则用* 代替。
字段类型 字符型 日期型
日期时间型 数值型 整型 货币型 逻辑型 备注型 通用型
Visual FoxPro程序设计基础教程
定义格式
字段宽度
C(n) D T
N(n,d) I Y L M G
N 系统定义8 系统定义8 长度为n,小数位数为d 系统定义4 系统定义8 系统定义1 系统定义4 系统定义4
第6章 关系数据库查询语言SQL
• 例1、查询选修课程号为’c120’或’c140’且成绩大于 等于80的学生的学号、课程号和成绩。 Select 学号,课程号,成绩 from 选课 where (课程 号=‘c120’ .or. 课程号=‘c140’) .and. 成ቤተ መጻሕፍቲ ባይዱ>=80
• 例2、查询1984年出生的、入校总分在570以上(含570) 的非三好生的所有情况。 Select * from 学生 where year(出生年 月)=1984 .and. 入校总分>=570 .and. .not. 三好生
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№4
例:
• 以下6个SQL命令,先创建一个数据库XSCJ,再在该数据库中创建五个 表XS, KC, JS, XK, SK ,创建表的同时定义完整性约束,并利用 REFERENCE子句建立表之间的永久关系。
• CREATE DATABASE XSCJ
在修改字段的时候定义数据完整性
• Alter table <表名> alter [column] <字段名> [Not null|null][Primary key] [set default 表达式] [set check 逻辑表达式] [set Error 字符串表达式]
Visual FoxPro程序设计基础教程
存储文件可以存放一个或多个基本表。
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№2
SQL的数据定义
创建表命令
• Create table <表名>(<字段名1> <类型>[(宽度[,小数位数])] [,(<字 段名1> <类型>[(宽度[,小数位数])],…])
• SQL数据类型
• where 工资>=1500 .and. 工资<=2000
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№ 14
确定集合
• 使用IN操作运算。
• 例1:查询选修了课程‘c120’或’c140’或’c160’并且 成绩在80以上的学生的学号、课程号及成绩。
Select 学号,课程号,成绩 from 选课 where 课程号 in (‘c120’,‘c140’,’c160’) .and. 成绩>=80
本命令的其它用法在后面分别介绍。
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№8
投影查询
即在查询中通过指定列名来查询所需要的字段值。
1 查询学生表中学生的学号、姓名、性别字段。
• Select 学号,姓名,性别 from 学生
2 查询教师表的所有信息。
• Select * from 教师
• 例2、查询既没选修’c120’,也没选修’c140’ 与’c160’课程、且其选修课成绩在70—90之间的学生 的学号、课程号及成绩。
Select 学号,课程号,成绩 from 选课 where 课程 号 not In (‘c120’,‘c140’,’c160’) .and. 成绩 between
REFERENCE KC, 课时 N(3))
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№5
修改表结构
• 增加字段:
Alter table <表名> add [column] <字段名1> <类型>[(宽度[,小数位 数])] , …
• 修改字段
Alter table <表名> alter [column] <字段名1> <类型>[(宽度[,小数位 数])] , …
• CREATE TABLE KC(课程号 C(4) PRIMARY KEY NOT NULL CHECK (LEFT(课程号,1)="C"), 课程名 C(20) NOT NULL)
• CREATE TABLE JS(教师号 C(5) PRIMARY KEY NOT NULL CHECK (LEFT(教师号,1)="T"), 姓名 C(8) NOT NULL, 性别 C(2) CHECK (性别=" 男" OR 性别="女"), 职称 C(10) NOT NULL , 政府津贴 L , 基本工资
• Select Distinct 学号 from 选课
6 查询经过计算的表达式,如:
• Select 教师号,姓名,工资,工资*2 as 工资翻一番 from 教师
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№ 10
条件查询
要在数据表中找查询到满足一定条件的记录时,可在 select 语句中使用where子句来指定条件。
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№ 13
确定范围
• 例1、查询教师工资在1500至2000之间的教师的教师 号、姓名及职称。
Select 教师号,姓名,职称 from 教师 where 工资 between 1500 and 2000
• 例2、查询教师工资不在1500—2000的范围内的教师 的教师号、姓名、职称。
№3
创建表的同时定义完整性规则短语
• NULL|NOT NULL:允许|不允许字段为空值; • Primary key: 定义表的主索引; • Default : 指定字段的默认值; • Check : 定义字段有效性规则; • Error : 指定当表中的记录违反有效性规则时的
错误提示信息。
• 注:primary key, default, check, error只适用于 数据库表。
• 例3、查询入校总分不低于570分的学生的学号、 姓名、性别、入校总分。
Select 学号,姓名,性别,入校总分 from 学生 where 入校总分>=570
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№ 12
多重条件查询
• 指使用where子句时,需要指定多于一个条件的情况, 这时一般用逻辑运算符and、or、not来连接多个条件。
方法一:
• Select 教师号,姓名,职称 from 教师 where 工资 not between 1500 and 2000
方法二:
• Select 教师号,姓名,职称 from 教师 where 工资<1500 .or. 工资>2000
说明:例1也可采用类似方法实现,将其where 子句改为:
3 用top子句与order by子句联合查询按一定顺序排列的前 n个记录的指定字段的值。如:查询学生入校总分为前3名 的学生的所有信息。
• Select top 3 * from 学生 order by 入校总分 desc • 说明:
Top子句应位于<字段名>之前; 使用top子句必须使用order by子句; Order by默认的排列顺序为升序,要降序排列则应在排序字段后加
70 and 90
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№ 15
部分匹配查询
• 使用like运算匹配字符串的总分值进行查询。其格式 为: <属性名> like <字符串常量>.
• 说明:
属性名必须为字符型字段。
字符串常量中可包含%或_,其中,%表示任意长度的字符 串,而_表示一个字符或一个汉字(不同系统要求不一样)。
• 例1、查询所有姓张的学生的学号、姓名、性别。
Select 学号,姓名,性别 from 学生 where 姓名 like ‘张%’
• 例2、查询职称为‘教授’或‘副教授’的所有教师 的所有信息。
Select * from 教师 where 职称 like ‘%教授’
Visual FoxPro程序设计基础教程
第6章 关系数据库查询语言SQL
№ 16
涉及空值查询
• 使用IS NULL和 IS NOT NULL来查询某个字 段的值是否为空值。不能使用“=”来代替IS。
• 例:
相关文档
最新文档