VFP中的难点.docx
- 文档编号:23693492
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:9
- 大小:18.22KB
VFP中的难点.docx
《VFP中的难点.docx》由会员分享,可在线阅读,更多相关《VFP中的难点.docx(9页珍藏版)》请在冰豆网上搜索。
VFP中的难点
VFP中的难点
一、索引的总结
类别
举例
新建
单索引
Useyyy
Indexon姓名toxm1.idx
Indexon性别toxb1
Indexon部门+dtoc(出生日期,1)tobm1
结构复合索引
Useyyy
Indexon姓名tagxm
Indexon性别tagxb
非结构复合索引
Useyyy
Indexon姓名tagxm2offjg
Indexon性别tagxb2offjg
打开
结构复合索引
随表一同打开或关闭
单索引
Useyyyindexxm1,xb1
或useyyy
Setindextoxm1,xb1
非结构复合索引
Useyyyindexfjg
或useyyy
Setindextofjg
Setorderto0/1/2|xm2,xb2
关闭
单索引/非结构复合索引
Closeindex
结构复合索引
与表一同关闭或打开
数据改动
打的索引
reindex
索引文件之间的转换
单索引复合索引
useyyyindexxm1,xb1
copyindexxm1,xb1**结构复合索引
copyindexxm1,xb1tofjg**非结构复合索引
复合索引单索引
setindextofjg**打开非结构复合索引文件/如果是结构复合索引文件已经随表打开了
modistru
copytagxm2toxm3.idx
copytagxb2toxb3.idx
二、SQL查询:
StructureQueryLanguage
(SelectCreatAlter)
一、select
1.简单查询
【例】从材料流水帐表中检索所有材料名称
SELECT材料名称FROMCLLS
SELECTdistinct材料名称FROMCLLS
SELECT*FROMCLLSWHERE数量>300
2.嵌套查询
【例】列出材料流水帐表中数量大于300以上的材料的材料名称、单价、品牌与供货商名称。
sele材料名称,单价,品牌,供货商名称fromcyclbwhere;
材料代码in(sele材料代码fromcllswhere数量>=100)
【例】列出单价在100以下,进出数量在300以下的所有材料的记录。
sele*fromcyclbwhere单价<100and材料代码in(sele材料代码fromcllswhere数量>=100)
3.联接查询
【例】检索供货商名称为“大华建筑材料公司”的所有进出材料的材料名称、单价、经手人、进出数量,并按单价从高到低的顺序列出。
selecyclb.材料名称,单价,经手人,进出数量fromclls,cyclb;
whereclls.材料代码=cyclb.材料代码.and.供货商名称=;
"大华建筑材料公司"orderby单价descending
4.计算查询
函 数 名
功 能
COUNT(*)
计算记录个数(求查询结果数据的行)
SUM(字段名)
求字段名所指定字段值的总和
AVG(字段名)
求字段名所指定字段的平均值
MAX(字段名)
求字段名所指定字段的最大值(数值、字符、日期)
MIN(字段名)
求字段名所指定字段的最小值(数值、字符、日期)
【例】统计项目管理人员表中项目管理人员的专业种类、最大年龄、最低工资、平均工资,命令形式如下:
selecount(distinct专业),max(年龄),min(工资),avg(工资)fromglry
selecount(专业),max(年龄),min(工资),avg(工资)fromglry
【例】统计项目管理人员表中年龄最小的女员工的生日,男员工的平均年龄,以及女员工的人数。
对应的命令分别为:
selecount(*)as女员工人数,max(出生日期)as最小女员工生日;
fromglrywhere性别="女"
seleavg(年龄)as男员工平均年龄fromglrywhere性别="男"
5.分组与计算查询
【例】依据项目管理人员表中的数据,分别统计各种专业的人数。
SELECT文化程度,COUNT(*)AS人数FROMGLRYGROUPBY文化程度
【例】依据项目管理人员表中的数据,分别统计各种专业的人数,仅列出统计人数小于4人的结果。
sele文化程度,count(*)as人数fromglry;
groupby文化程度havingcount(*)<4
6.使用特殊运算符
(1)使用BETWEEN运算符
select*fromglrywhere年龄between30and40orderby年龄descending
(2)使用IN运算符
【例】在项目管理人员表中查询文化程度为本科或中专的员工记录。
sele*fromglrywhere文化程度in("本科","中专")
sele*fromglrywhere文化程度notin("本科","中专")
sele*fromglryWHERE文化程度="本科"OR文化程度="中专"
(3)使用LIKE运算符
【例】在项目管理人员表中查询所有姓“张”的员工记录。
SELECT*FROMGLRYWHERE姓名LIKE"张%"
SELECT*FROMGLRYWHERE姓名LIKE"张__"
7.SQL查询的特殊选项
(1)显示查询的前几项或后几项结果
【例】检索项目管理人员表中工资位于前4名并且年龄大于30的员工记录
sele*top4fromglrywhere年龄>=30orderby工资descending
【例】显示项目管理人员表中工资最低的25%员工的记录。
sele*top25percentfromglryorderby工资
(2)将查询结果存放到永久表中
sele*top4fromglrywhere年龄>=30orderby工资desc;
intotablegz
usegz
brow
SELECT*TOP4FROMGLRYWHERE年龄>=30ORDER;
BY工资DESCINTOCURSORGZ2
(4)将查询结果存放到二维数组中
sele*top4fromglrywhere年龄>=30orderby工资desc;
intoarraytema
?
tema(1,1)
(5)将结果存放到文本文件中
sele*top4fromglrywhere年龄>=30orderby工资desc;
tofilex3
二.SQL定义功能(Creat)
1.表的定义
CREATETABLEYGQKFREE(XMC(8),XBC
(2),;
HF L,DH C(14),NL N(2,0))
CREATETABLECLKC(材料代码C(13);
DEFAULT“HZ04DHJZ0000H”,材料名称C(10),单价N(8),数量N(8,2)CHECK数量>=2.AND.数量<50000;
ERROR“数量范围应在2到50000之间!
”,;
供应商名称C(20)PRIMARYKEY))
2.建立视图
creatdata1013
creatsqlviewxxasselecclls.材料代码,clls.材料名称,cyclb.单价fromclls,cyclb;
whereclls.材料代码=cyclb.材料代码
brow
modiviewxx
【例】依赖一个数据库表创建视图。
在“小型项目管理系统”数据库中,创建一个名为“低价材料”的视图,由“材料库存”表中单价小于50的材料记录形成。
OPENDATBASE小型项目管理系统
CREATEVIEW低价材料AS;
SELECT*FROMCLKCWHERE单价<50
USE低价材料
BROWSE
CLOSEDATABASE
【例】依赖多个数据表创建视图。
在“小型项目管理系统”数据库中,创建一个名为“进库材料”的视图,由“材料流水表CLLS”中“材料名称”、“经手人”和“材料库存表CLKC”中的“单价”、“供货商名称”4个字段形成。
OPENDATABASE小型项目管理系统
CREATEVIEW进库材料AS;
SELECTCLLS.材料名称,CLLS.经手人,CLKC.单价,;
CLKC.供货商名称;
FROM CLLS,CLKC;
WHERECLLS.材料代码=CLKC.材料代码;
.AND.CLLS.材料进出=.T.
三.SQL修改功能(Alter)
修改表结构
ALTER TABLE YGQK ADD ZZ C(24)
ALTER TABLE YGQK ALTER XM C(10)
【例】在例5-23创建的“材料库存”表中,为“单价”字段设置一个默认值“988.88”,并删除“库存数量”字段的条件约束。
OPENDATABASE项目管理
ALTERTABLECLKCALTER单价SETDEFAULT988.88
ALTERTABLECLKCALTER库存数量DROPCHECK
【例】在已创建的“员工基本情况”表中,删除“家庭住址(ZZ)”字段,并将其“电话”字段改名为“家庭电话(JTDH)”,其SQL命令分别为:
ALTERTABLEYGQKDROPCOLUMNZZ
ALTERTABLEYGQKRENAMECOLUMNDHTOJTDH
【例】在已创建的“材料库存”表中,为“材料代码”字段创建一个候选索引。
OPENDATABASE项目管理
ALTERTABLECLKCADDUNIQUE材料代码
删除视图的SQL命令
【例】删除“小型项目管理系统”数据库中名为“低价材料”的视图。
OPEN DATABASE 小型项目管理系统
DROP VIEW 低价材料
4.删除数据表
【例】删除“小型项目管理系统”数据库中的“进库材料”表。
OPENDATABASE小型项目管理系统
DROPTABLE进库材料
5、修改记录及数据库等
【例】利用SQL命令在已创建的“员工基本情况”表中插入新记录。
1、插入新记录所有字段的数据:
INSERT INTO YGQK;
VALUES(“吴海”,“男”,.F.,“5865678”,24)
2、插入新记录部分字段的数据:
INSERT INTO YGQK;
(姓名,电话)VALUES(“刘丽”,“4523986”)
【例】先创建3个同名内存变量,再利用SQL命令将内存变量的值作为新记录插入到“员工基本情况”表中。
姓名=“江波”
性别=“男”
电话=“8667868”
INSERTINT员工基本情FROMMEMVAR
2.更新数据
Updateglryset年龄=年龄+1,工资=工资*1.1
Updateglryset姓名=”李勇”,部门=”办公室”where姓名=”王勇”
Updateglryset工资=工资+30where性别=”男”
3.删除数据
【例】用SQL命令,将“项目管理人员表GLRY”中所有40岁以上男员工的记录进行逻辑删除,然后再做物理删除。
DELETEFROMGLRYWHERE年龄>40AND性别=“男”
PACK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 中的 难点