VFP第05讲关系数据库标准语言SQL

合集下载

VFP课件第五章结构化查询语言SQL

VFP课件第五章结构化查询语言SQL

5.1.1表的定义
格式:
Create table <表名> (字段名1 类型(长度),…….) [例1] :创建一个数据表,其表名为 “XS”字段定义为: 学号(C,6) 姓名(C,6) 年龄(N,2),出生日期(D,8),贷款否(L,1)
命令为: CREA TABL XS(学号 C(6), 姓名 C(6), 年龄 N(2),出
课堂练习:
查询出工资大于等于1800的人才的编号,姓名和 工资情况,并按工资降序排序。
答案:
Sele 编号,姓名,工资现状 from rcda where 工资现状>=1800 order by 工资现状 desc
5.2.4计算与分组查询
格式: …… GROUP BY 分组字段 [例4]:查询TEACHER表各教研室月收入的和。 SELE 教研室, SUM(月收入) AS 月收入和 FROM TEACHER GROUP BY 教研室
第五章
结构化查询语言SQL
SQL语言特点
1.几乎所有的关系数据库管理系统都支持 SQL语言 ,SQL是数据库的标准语言。
2.SQL语言的大多数语句都独立执行,与 上下文无关。
3.SQL语言功能极强,但却非常简洁。
5.1 数据定义
5.1.1表的定义 5.1.2 表结构的修改
5.1.3 表的删除
5.2.2基本查询
格式为: SELE 字段名列表 FROM 数据表名 WHERE 条件
[例1]:查询学生表中所有男生的学号,姓名,出生日期. 命令: SELE 学号, 姓名, 出生日期 FROM 学生 WHERE
性别="男"
[例2]:从课程.DBF表中,查询所有课程的信息. 命令: SELE * FROM 课程

VFP第五章SQL

VFP第五章SQL
第四章SQL语言 总结复习
1. SQL命令动词 要记住,这个表 格可以出题,选 择、填空都可 能.
在VFP中不能使用命令 GRANT、REVOKE
SQL功能
命令动词
数据查询
数据定义 数据操纵
select
Create,drop ,alter Insert, update delete Grant revoke
Select from xs,cj where xs.xh=cj.xh
select * from cj && *表示什 么意思? 表示cj表的所有字段.
4.2.3嵌套查询(必考题)
NOT IN是排除的意思 Select * from xs where xh not in (select xh from cj) &&排除掉了在CJ表中出现的XH ,也就是所有选过课的学生被排 除掉了,剩下来的就是没有选过 课的学生信息。 In:只在….范围内的意思。
连接查询。 凡要从两个表里查询记录的话, 一定要对两个表进行联接,否则 是不能进行查询的.
最常用的连接是普通连接: (1)Select ….from 表1名字, 表2 名 where 表1名.字段名=表2 .相同字段名 Select …. From xs,cj where xs. xh =cj.xh (2)等价于(1):select…..from 表1名 join 表2名 on 表1名.字段名=表2 . 相同字段名
4.2.4 也考过 成绩 not Between 20 and 100用关系 运算符来改写:成绩<20 or 成绩>100 Select xh from cj where cj in(60,70,80) &&查询cj=60 or cj=70 or cj=80的学 生xh

全国计算机等级考试二级VF第五讲

全国计算机等级考试二级VF第五讲
名 d) Alter table 表名 alter 字段名 drop check e) Alter table 表名 alter 字段名 drop default
12
④ Alter table 更名语句
a. alter table 表名 rename 原字段名 to 新字段名 更改表中的字段名
b. Rename table 原表名 to 新表名 更改表名
28
课后练习题
套数 3套 7套 9套 11套 26套 27套 28套 30套 31套 32套 36套 37套 40套 43套
45套
大题号 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题
第二题
小题号 2 1 2 1 1 2 2 1 1,2 2 1 1 1 1
1
套数 53套 54套 55套 61套 63套 74套 79套 84套 88套 89套 90套 92套 95套 96套
10套
大题号 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题 第二题
第二题
小题号 1 1 2 1,2 1,2 2 1 2 2 1 1 1 1 1
c) Alter table 表名 alter 字段名 set default 默认值
11
③ Alter table删除语句
a) Alter table 表名 drop 字段名 删除字段 b) Alter table 表名 drop primary key c) Alter table 表名 drop unique tag 索引文件
27
例题
2. 编写SQL命令查询歌手平均分大于8.2的歌手的姓名、歌手 编号和平均分,查询结果存储于result.dbf中(字段名依次 为姓名、歌手编号和平均分),结果按歌手的平均分降序 排列。SQL命令要保存在ttt.prg文件中。(3套)

Visual FoxPro程序设计教程 (4)

Visual  FoxPro程序设计教程 (4)
Visual FoxPro Programming
5.2.1 基本查询
3.查询经过计算的值 SELECT子句不仅可以是表中的字段,也可以是表达式。 例5-3 查询全体学生的学号,姓名和年龄。 SELECT 学号,姓名,YEAR(DATE())-YEAR(出生日期) 年龄 ; FROM 学生 &&通过指定别名“年龄”来改变查询结果的列标 题。 查询结果如图5-3所示。
5.1 SQL 概 述
SQL具有如下主要特点: ① 一体化 ② 高度非过程化 ③ 语言简洁,易学易用:SQL核心功能只需要使用9个命令 动词,如表5-1所示。 ④ 两种使用方式,统一的语法结构
表5-1 SQL命令动词
SQL功能 数据查询 数据操纵 数据定义 数据控制 命令动词 SELECT INSERT、UPDATE、DELETE CREATE、ALTER、DROP GRANT、REVOKE(Visual FoxPro中的SQL无此功能)
Visual FoxPro Programming
5.2.1 基本查询
1.查询全部字段 两种方法:①在SELECT短语中列出所有字段名;②如果字段的显示顺序 与其在源表中的顺序相同,也可以在SELECT短语中用*表示。 例5-1 查询全体学生的详细信息。 SELECT 学号,姓名,性别,出生日期,专业,个人简历,照片; SELECT * ; FROM 学生 FROM 学生 查询结果如图5-1所示。
Visual FoxPro Programming
5.2.2 条件查询
2.确定范围 谓词BETWEEN…AND…可以用来查找字段值在指定范围内的记录。 例5-7 查询19,出生日期,专业 ; FROM 学生 ; WHERE 出生日期 BETWEEN {^1988-01-01} AND {^1988-12-31} 等价于: SELECT 姓名,出生日期,专业 ; FROM 学生 ; WHERE 出生日期 >= {^1988-01-01} AND 出生日期 <= {^1988-12-31} 查询结果如图5-7所示。

VFP程序设计教程

VFP程序设计教程

二级VFP程序设计教程
第五章 关系数据库标准语言SQL
七、分组与计算查询 利用GROUP BY 进行分组计算查询,GROUP BY 短 语的格式如下: GROUP BY 分组列表 [HAVING FilterCondition] 〖例〗 求每个仓库的职工的平均工资 SELECT 仓库号,AVG(工资) FROM 职工 GROUP BY 仓库号
二级VFP程序设计教程
第五章 关系数据库标准语言SQL
〖例〗 检索工资多于1230元的职工号 SELECT 职工号 FROM 职工 WHERE 工资>1230 〖例〗 求北京和上海的仓库职工的工资总和 SELECT SUM(工资) FROM 职工 WHERE 仓库 号 IN (SELECT 仓库号 FFROM 仓库 WHERE 城市=” 北京” OR 城市=”上海”)
将查询结果放在数组中 使用INTO ARRAY ArrayName 将查询结果放在数组 中. SELECT * FROM 职工 INTO ARRAY tmp 将查询结果存放在临时文件中 使用INTO CURSOR CursorName将查询结果放在临 时数据库表文件中.该表为只读dbf文件,当关闭文件时 该文件将自动删除。 SELECT * FROM 职工 INTO CURSOR tmp
二级VFP程序设计教程
第五章 关系数据库标准语言SQL
〖例〗 查询所有的职工工资都大于1210元的仓库信 息 分析:此例也可描述为”没有一个职工的工资少于或 等于1210元的仓库的信息 SELECT * FROM 仓库 WHERE 仓库号 NOT IN ; (SELECT 仓库号 FROM 职工 WHERE 工资<=1210)
第五章 关系数据库标准语言SQL

2011年全国计算机等级考试二级VFP笔记(5)共6篇

2011年全国计算机等级考试二级VFP笔记(5)共6篇
C.数据操作
D.数据控制
[解析] 本题考查的知识点是SQL语言的基础知识。在Visual FoxPro中,SQL是结构化查询语言。 选项B,C,D说法错误,在Visual FoxPro中有数据定义语言、数据操作语言、数据控制语言。
[答案] A
2.SQL除了具有数据查询的功能外,还有_____。
[答案] C
4.SQL的核心是__________。
A.数据查询
B.数据定义
C.数据操纵
D.数据控制
[解析] 本题考查的知识点是SQL的核心。SQL作为结构化查询语言,其核心是查询。因此正确答案为A。
[答案] A
5.SQL同其他数据操作语言不同,其关键在于_____。
[解析] 本题考查的知识点是ALTER TABLE命令及各子项的作用。在ALTER TABLE命令中,ADD用来添加新字段;ALTER用来修改已有字段。
[答案] ADD ALTER
四、数据操纵
数据操纵语言是完成数据操作的命令,一般分为两种类型的数据操纵,它们统称为DML:
A. 数据定义
B.数据操纵
C. 数据控制
D.以上答案均正确
[ 解析] 本题考查的知识点是SQL语言的作用。在VisualFoxPro中,SQL的功能有四个:数据查询、数据定义、数据操纵、数据控制。因此正确答案为D。
[答案] D
3.下列选项中,不属于数据定义功能的SQL语句是__________。
[答案] C
7.SQL可以_____使用,也可以_____使用。
[解析] 本题考查的知识点是SQL语言的使用方式。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。

05 VFP课件09版 SQL语言 4学时

SQL语言是一种高度非过程化的语言,它没有必要一步步地 告诉计算机“如何”去做,而只需要描述清楚用户要“做 什么”,SQL语言就可以将要求交给系统,自动完成全部工 作。
第 21 页 共 92 页 目 录 上一步 下一步 关 闭
单选题
1.SQL是那几个英文单词的缩写____。
A)Select Query Language
目 录
上一步
下一步
关 闭
SELECT 学生.学号, 学生.姓名, 学生.性别, 学生.出生日期;
FROM 学生选课库!学生;
ORDER BY 学生.学号
第 29 页
共 92 页
目 录
上一步
下一步
关 闭
SELECT 学生.学号, 学生.姓名, 学生.性别, 学生. 出生日期, 学生成绩.数学, 学生成绩.外语, 学
出生日期"和”是否团员”字段,并按"
出生日期"先后顺ቤተ መጻሕፍቲ ባይዱ排序,"出生日期"相
同的情况下,按"学号"升序排序,并使 所有字段可更新。
第 13 页
共 92 页
目 录
上一步
下一步
关 闭
第 14 页
共 92 页
目 录
上一步
下一步
关 闭
SELECT 学生.学号, 学生.姓名, 学生.性别,
学生.出生日期, 学生.是否团员;
AND 入学成绩>=600 ;
AND 性别='男'
多个查询条件可以用AND、OR或者NOT连接
第 42 页
共 92 页
目 录
上一步
下一步
关 闭
第 43 页

VFP二级讲稿VFP(5)


例:从“成绩”中查询每门功课的最高成绩。 sele * from 成绩 out where 期末=(sele max(期末); from 成绩 inti where out.课程代号=inti.课程代号) 十一、使用量词与谓语的查询。
11
no exists——表示不存在。 Visual FoxPro 程 序 设 计 二 级 教 程 例1:显示没有在“成绩”表中出现的课程。 sele * from 课程 where not exist (SELE * FROM 成绩 ; where 课程代号=课程.课程代号) 例2:显示在“成绩”表中出现的课程。 sele * from 课程 where exist (SELE * FROM 成绩 where 课程代号=课程.课程代号) any,some——表示有一些,即只要有一个满足就是真。 all——表示所有,即所有满足才真。 例3:查询在“成绩”表中,“期末”成绩大于,“学号” 前两 位是“97”的最小成绩的记录。
1
4)SQL语言可以直接以命令的方式交互使用。
§5.2
查询功能
Visual FoxPro 程 序 设 计 二 级 教 程
SQL的核心是查询。所以SQL的查询命令也称作 SELECT命令。它的基本形式为: SELECT—FROM—WHERE 其语法结构P115页示。 注:1)SELECT是命令动词,表明要查询数据。 2)FROM用于表明要查询的数据来源哪? 3)WHERE用于说明查询的条件。 一、简单的查询: 下面以例子说明“SELECT—FROM—WHERE”的用法。 例1:use rsda sele 姓名,基本工资+奖金 AS 实发工资 from rsda
12 sele * from 成绩 where 期末>=any(SELE 期末 FROM;

Visual FoxPro 程序设计第5章 关系数据库标准语言SQL


目 录
5.1 5.2 5.3 5.4 SQL概述 查询功能 操作功能 定义功能
5.1 SQL概述
SQL(Structured Query Language)是结构化查询语言,它集数据
定义、数据操作和数据管理三大功能于一体,是目前关系型数据库的 通用语言。 主要特点。
1. SQL是一种一体化的语言(DDL、DML、DCL)
2. SQL语言具有强大的查询功能 3. SQL是一种高度非过程化的语言
4简洁
课堂测试(国二真题) Visual FoxPro中支持的SQL功能不包括_________。 A.数据定义 B.数据修改 C.数据查询 D.数据控制
答案:D
5.2 查询功能 一般语法格式: SELECT <目标列表达式> FROM <基本表(或视图)> [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <筛选条件> ] ] [ ORDER BY <列名2> ] [ INTO <目标>]
不显示重 复的记录
AS
'有效天数'
FROM
5.2.2 带条件(WHERE)的查询语句
【格式】 SELECT [ALL|DISTINCT] FROM <表>[,<表>…] [ WHERE <条件表达式>] [别名.]<选择项> [AS <别名>]
【功能】从表中查询满足条件的记录。 LIKE :字符串模糊比较 , %为0个或多个字符(不是*) , _为一个字符。 BETWEEN <起始值> AND <终止值>: 值必须在<起始值>和<终止值>之间 。

【精品文献】VFP程序设计教程

二级VFP程序设计教程
第五章 关系数据库标准语言SQL
〖例〗 查询所有的职工工资都大于1210元的仓库信 息
分析:此例也可描述为”没有一个职工的工资少于或 等于1210元的仓库的信息
SELECT * FROM 仓库 WHERE 仓库号 NOT IN ; (SELECT 仓库号 FROM 职工 WHERE 工资<=1210)
二级VFP程序设计教程
第五章 关系数据库标准语言SQL
二、联接查询 联接查询是一种基于多个关系的查询。在多个表中找 出满足条件的记录。 〖例〗 找出工资多于1230元的职工号和他们所在的 城市。 SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (工资>1230) AND(职工.仓库号=仓库.仓库 号) 说明:分号是续行符,有时将一条语句写在几行上, 其结构看得更清楚。
二级VFP程序设计教程
第五章 关系数据库标准语言SQL
SELECT:说明要查询的数据,即字段列表。 FROM:说明要查询的数据来自哪些表,可以对单个 表或多个表进行查询。 WHERE:查询条件,即选择元组的条件。 GROUP BY:用于对查询结果进行分组,可以利用 它进行分组汇总。 HAVING:必须跟随GROUP BY 短语使用,它用来 限定分组必须满足的条件。 ORDER BY:用来对查询的结果进行排序。
匹配字符串查询,使用LIKE运算符Байду номын сангаасSELECT * FROM 供应商 WHERE 供应商名 LIKE “%公司” 匹配符%:表示0个或多个字符 匹配符_ :表示一个字符
二级VFP程序设计教程
第五章 关系数据库标准语言SQL
主讲老师:wj
第五章 关系数据库标准语言SQL
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据定义语言
CREATE TABLE | DBF 表名: 指定要创建的表的名称.TABLE 和 DBF 选项作用相 同. FREE: 指定所创建的表不添加到数据库中.如果没有打开数 据库则不需要 FREE. (<列名1> <类型> [(<宽度>[,<小数>]): 分别指定字段名、字段类型、字段宽度和字段精度 (小数位数). 详见下用教材
第五章关系数据库标准语言SQL
数据定义语言
4.修改表的结构 格式1:ALTER TABLE <表名> ADD|ALTER <字段 名> <类型> [(<宽度>[,<小数>])] 功能:添加新字段或新属性 格式2:ALTER TABLE <表名> ALTER <字段名>
13
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据操纵语言
2.更新记录~ UPDATE 格式:UPDATE [<数据库名!>] <表名> SET <列名1>= <表达式1>[,<列名2>=<表达式2>,…][WHERE <过滤条件>] 功能:用新的值更新表中的记录 举例:将kc表中编号为“0101“的课程的学时改为10 0. UPDATE kc SET xs=100 WHERE kcbh="0101" 3.删除记录 格式:DELETE FROM [<数据库名!>] <表名> [ WH ERE <过滤条件>] 功能:给要删除的记录作标记.
3
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
VFP系统的SQL语言
2.更新记录:UPDATE 3.删除记录:DELETE 数据查询:SELECT 5.2 SQL语言~数据定义语言 1.创建表
格式:CREATE TABLE|DBF <表名1> [FREE]
(<列名1> <类型> [(<宽度>[,<小数>]) [NULL|NOT NULL][PRIMARY KEY] [REFERENCES<表名2>[TAG<标识>]])[,<列名2> …]
7
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据定义语言
父表不能是自由表. 功能:建立给定字段的表结构. 例:建立课程表kc,其结构为:kcbh,字符型,字段宽度 4; kcmc,字符型,20; xs,数值型,3; xf,数值型,2; bz,备注型. CREATE TABLE kc(kcbh C(4),kcmc C(20),xs N(3),xf N(2),bz M) 学时:XS 表名:KC 课程编号:KCBH 学分:XF 备注:BZ
16
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
列子句中各短语意义
ALL:查询结果中显示全部数据(含重复记录,默认值). DISTINCT:查询结果只中显示不重复的数据.
<别名>:用来区分多个表文件字段.
<SELECT表达式>:是用户要查询的内容,如果是多个
字段,则用逗号分割;既可以是字段名,也可以用函数,还可
功能:修改已有字段已有属性
格式3: ALTER TABLE <表名> DROP <字段名> 功能:删除已有字段及其属性,添加或删除主索引、候 选索引、外部关键字、有效性规则,改变表中字段名称.
11
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据定义语言
举例1:在课程表中加入字段kcxz,类型:字符型,长度:8 ALTER TABLE kc ADD kcxz C(8) 举例2:删除课程表中的字段备注bz ALTER TABLE kc DROP bz 举例3: 修改kcxz(课程选择)字段类型为N型
8
课程名称:KCMC
马驰 主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据定义语言
2.建立临时表 格式: CREATE CURSOR <临时表名> (<列名1><类型>[(<宽度>[,<小数>])] [NULL|NOT NULL]) [,<列名2> …] 功能:建立给定字段的临时表结构.
G


通用型
6
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据定义语言
[NULL|NOT NULL]:
在字段中允许 Null 值|在字段中不允许 Null 值.
[PRIMARY KEY]: 将此字段作为主索引.主索引标识名和字段名相同. [REFERENCES<表名2>[TAG<标识>]])[,<列名2> …]: 指定建立永久关系的父表.如果省略 TAG TagName1, 则使用父表的主索引关键字建立关系.如果父表没有主索 引,则 Visual FoxPro 产生错误. 可包含 TAG TagName1,为父表建立一个基于现有索 引标识的关系,索引标识名最多可包含 10 个字符.
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
VFP二级教程
教育部考试中心 编写
1
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
第五章 关系数据库标准语言SQL
5.1 SQL语言概述 SQL(Structured Query Language,结构化查询语言) SQL标准是于1986年10月美国国家标准局(ANSI)的 数据库委员会X3H2批准作为关系数据库语言的美国标准, 随之,国际化标准组织(ISO)也作出了同样的决定. 两种使用方式:联机交互式、嵌入式. 标准SQL语言包括: 数据定义:CREATE(建立),DROP(取消),ALTER(修改)
19
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
条件子句:
TO SCREEN:输出到系统屏幕
举例:用教师表中的姓名、性别和职称字段建立一个 名为CUR的临时表 SELECT 教师 姓名,性别,职称 FROM 教师 INTO CU RSOR CUR 条件子句: [WHERE <连接条件> AND | OR <过滤条件>…] 连接条件:用于建立两个表间的关系.格式如下:
目的子句: INTO <目标>:输出到指定的目标. 1.ARRAY <数组>:输出到数组 2.CUSOR <临时表名>:输出到临时表 3.DBF <表名>:输出到表文件


TO FILE <文件名>:输出到指定的文本文件
-[ADDITIVE]:数据追加到原文件后 TO PRINTER:输出到打印机 -[PROMPT]:同时弹出打印机设置窗口
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据查询语言
IT][WHERE<连接条件> [AND | OR <过滤条件>][GROUP BY <分组表达式>[, …]][HAVING <过滤条件>][UNION [ALL] <SELECT命令>][ORDER BY <排序列>[ASC|DES C]…] 功能:从一个或多个表中检索数据. SELECT-SQL命令的简化格式: SELECT [<列子句>] FROM [<表子句>] [<目的子句>] [<条件子句>] [<分组子句>] [<排序子句>] 列子句:[ALL | DISTINCT][<别名>.]<SELECT表达 式> [AS <列标题>]…
ALTER TABLE kc ALTER kcxz N(8)
举例4:设置KCBH字段为候选索引(数据库表可添加 加主索引)
ALTER TABLE kc ADD UNIQUE kcbh
12
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
数据操纵语言
5.3 SQL语言~数据操纵语言 1.插入记录~INSERT 格式1: INSERT INTO <表名>[(<字段名1>[,<字段名2 >[,…]])] VALUES (<表达式1>[,<表达式2>[,…]]) 格式2: INSERT INTO <表名> FROM ARRAY <数组 名>|FROM MEMVAR 功能:在表的末端追加包含指定值的新记录. 举例:在表kc中加入数据(“0101”,“高等数学”,80,4, “必修”).INSERT INTO kc (kcbh,kcmc,xs,xf,kcxz) VALUE S("0101", "高等数学",80,4,"必修")
说明:临时表在系统退出时会自动删除.
举例: CREATE CURSOR kc(kcbh C(4),kcmc C(20),xs N(3),x f N(2),bz M)
9
马驰
主讲
国家二级考试VFP专用教材
第五章关系数据库标准语言SQL
相关文档
最新文档