VFP数据库操作常用命令_第1页
VFP数据库操作常用命令_第2页
VFP数据库操作常用命令_第3页
VFP数据库操作常用命令_第4页
VFP数据库操作常用命令_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、1, FoxPro文件的主要类型库文件和备注文件 程序文件 索引文件 查询文件 屏幕格式文件 选单格式文件 报表格式文件 标签格式文件 内存变量文件 视图文件 文本文件.dbf .fpt库文件和备注文件 程序文件 索引文件 查询文件 屏幕格式文件 选单格式文件 报表格式文件 标签格式文件 内存变量文件 视图文件 文本文件.dbf .fptprg .fxp.idx .cdxqpr.scx .set .spr .spx.mnx .mnt .mpr .mpx.frx .frt.lbx .lbt.mem.vue.txt2,命令中,规定使用的单词叫保留字,保留字大小写随意,并且可以只写前面的四个字母。命

2、令窗口中,保留字以蓝色显示。3,表中的字段类型字符型C字符串格式:abc, abc, abc数值型N货币型Y货币常量格式:$12, $12.68日期型D日期型常量:人2013-1-16, 人2013.1.16, 人2013/1/16, 人2013 1 16日期时间型T 日期时间型常量:人日期,时间,时间格式:8:10:30,20:10:30, 8:10:30A, 8:10:30AM, 8:10:30P, 8:10:30PM逻辑型L格式:真(.T./.t./.Y/.y.),假(.F./.f./.N./.n.)浮点型F整型I双精度型B备注型M通用型G4,各类型数据大小的规定数值型和货币型:同数学中

3、大小日期型和日期时间型:靠后的大逻辑型:真大于假字符型:当 set collate to Machine(机器顺序)时:字符:空格 数字 大写字母 小写字母 汉字:按拼音当 set collate to PinYin(拼音顺序)时: 字符:空格 字段名表off显示指定范围(全部/当前开 始的n条/当前到最后/第n条)并符合条件的字段记录,加off则不显示记录号list all for bs=80 and js床位号插入记录insert在当前记录之后插入空记录,同时打开表窗口insert blank在当前记录之后插入空记录,但不打开表窗口insert before在当前记录之前插入空记录,同时打

4、开表窗口insert before blank在当前记录之前插入空记录,但不打开表窗口append 打开表窗口添加新纪录append blank在表的最后添加空记录,但不打开表窗口append from表1 for条件fields字段1,字段2,. 将表1中满足条件的记录添加到当前 表,表1无须打开删除记录逻辑删除(在记录上做一个删除标记,不是真正的删除)delete 范围for条件如果没有范围和条件,仅删除当前记录,其delete()为真recal 1 范围for条件恢复物理删除pack物理删除已经逻辑删除的记录zap物理删除表的全部记录替换字段内容replace字段1 with表达式1,字

5、段2 with表达式2,范围for条件对表中指定范围内满足条件的记录进行替换,如果没有范围和条件,只替换当前记录字段和变量之间值的传递scatter字段s to数组名/memvar将当前记录的各字段放到指定数组/同名变量中,数组不用预先定义scatter字段s like通配名to数组名/memvarscatter字段s except通配名to 数组名/memvar当存在同名变量时,直接写出名称表示字段,m.名称或者m-名称表示变量gather from数组名/memvar字段s将数组/同名变量中的元素依次放到当前记录的字段中gather from 数组名/memvar字段s like通配名ga

6、ther from 数组名/memvar 字段 s except 通配名过滤器set filter to条件表中只看到符合条件的记录set filter to取消过滤,可以看到所有记录set fields to字段1,字段2,. 表中只看到指定字段set fields off可以看到所有字段排序(对当前表根据要求进行排序,产生一新表)sort to新表on字段1/A(升序,默认)或/D(降序)/C(忽略大小写),字段2/A或 /D/C, .ascending或descending(对未指定排序的字段而言)范围for条件字段s索引索引得到的记录顺序放在索引文件中,只有一个索引的文件叫单索引文件(

7、.IDX),有多个索引 的文件叫复合索引文件(.CDX),当复合索引文件与表同名时,它被称为结构化复合索引文件.如果 某个索引文件被指定为当前索引,对表进行处理时,会以索引中的顺序进行.索引得到的文件和排序得到的新表的区别新表独立于旧表,不随旧表改变;索引文件依附于表,当索引打开时,会随表内容自动更新;索 引文件占用的空间比排序的表小索引的建立在单索引文件中(只能以索引项升序建立)index on 索引项 to 文件名unique/candidate在结构化复合索引文件中index on 索引项 tag 索引名ascending(默认)/descendingunique(唯一索引)/candi

8、date(候选索 引)在非结构化复合索引文件中index on 索引项 tag 索引名 of 文件名ascending(默认)/descendingunique(唯一索 引)/candidate(候选索引)索引的打开和表一起打开use表index索引文件1,索引文件2,.表打开后再打开set index to索引文件1,索引文件2, .additive(不关闭之前打开的索弓I,默认关闭)设置当前索引set order to 索弓丨号 ascending/descending索引号从1开始,顺序:打开的单索引文件- 结构化复合索引文件- 打开的非结构化复合索引 文件set order to ta

9、g 索弓丨名 ascending/descendingset order to 或set order to 0表示不指定当前索引order()函数可以得到当前索引的索引名重新索引reindex对所有打开的索引进行重新索引关闭索引close indexes 或 set index to索引的删除结构化复合索引文件delete tag索引名1,索引名2,.delete tag all非结构化复合索引文件(索引要打开) delete tag索引名1 of文件名,索引名2 of文件名,. delete tag all of 文件名单索引文件(索引要关闭)直接在文件夹窗口删除记录查找一般查找locate

10、 for条件范围从整个表中找出符合条件的第一个记录,但不会自动显示该记录.查找下一个continue.索引查找seek索引项值根据当前索引,找出指定索引项值的第一个记录,比一般查找快.查找下一个 skip关联父表记录指针改变时,会引起子表记录指针的改变.两表关联必须要有关联依据(共有字段),且子表以关联依据为索引项建立了索引,并设为当前 索引.建立关联(当前工作区为父表工作区)set relation to关联依据1 into子表1所在工作区,关联依据 2 into子表2所在工作 区,.additive(不取消父表和其他子表的关联,默认取消)取消关联set relation to取消所有关联s

11、et relation off into工作区取消父表与指定工作区中的子表的关联设置一对多关联建立关联后加上:set skip to子表1所在工作区,子表2所在工作区,取消一对多关联set skip to建立临时性关联(一对一)select 2use床位分配index on 住院号 to syselect 1use患者信息set relation on 住院号 into blist住院号,姓名,性别,出生日期,b-床位号建立临时性关联(一对多)select 2use住院费用index on 住院号 to syselect 1use患者信息set relation on 住院号 into bse

12、t skip to blist住院号,姓名,性别,出生日期,b-费用类别将两表以关键字段相等为条件连接成独立的新表select 2use床位分配select 1use患者信息join with b to患者床位for住院号=b.住院号fields住院号,姓名,住院科室,诊断,b.床位号, b.医生姓名select 0use患者床位browse使用住院费用表的费用小结字段更新患者费用合计表中的费用合计字段select 2use住院费用index on 住院号 to syselect 1use患者费用合计set order to tag syupdate on住院号from住院费用replace费

13、用合计with费用合计+b.费用小结random & 按住院号更新费用合计字段值browse数据统计记录数统计count to内存变量范围for条件求和sum 字段1,字段2,.to变量1,变量2,.范围for条件求平均值average 字段1,字段2,.to变量1,变量2,.范围for条件分类汇总total on分类依据to新表字段s范围for条件综合统计calculate统计项目1,统计项目2,.to变量1,变量2,.范围for条件 统计项目:cnt()-统计记录个数;sum()-求和统计;avg()-求平均值统计;max()-求指定字段中 的最大值;m in()-求指定字段中的最小值71

14、,SQL语句当一个命令太长需要换行输入时,应在行后面加上分号再回车例:查看学生表中的学号 select 学号 from 学生表查看学生表中的内容select * from 学生表查看学生表中年龄在18岁以上的学生信息select * from 学生表 where 年龄18显示借过书的学生学号(去重)select distinct 学号 from 借阅表显示三年后学生的年龄(别名)select学号,姓名,年龄+3 as三年后年龄from学生表显示年龄在18和22之间的学生信息select * from 学生表 where 年龄=18 and 年龄v=22select * from 学生表 whe

15、re 年龄 between 18 and 22显示年龄不在18和22之间的学生信息select * from 学生表 where not(年龄=18 and 年龄v=22)select * from 学生表 where not 年龄 between 18 and 22显示学号为”2004003”和”2004006”两位学生的信息 select * from 学生表 where 学号=”2004003” or 学号=”2004006” select * from 学生表 where 学号 in(”2004003”,2004006)以年龄降序显示学生表的内容select * from 学生表 or

16、der by 年龄 desc显示年龄最大的三位同学信息(top要和order 一起使用)select top 3 * from 学生表 order by 年龄 desc显示前40%的学生信息select top 40 percent * from 学生表 order by 年龄学生人数select count(*) from 学生表借过书的学生人数select count(distinct 学号)from 借阅求年龄和select sum(年龄)from 学生表求平均年龄select avg(年龄)from 学生表求最大,最小年龄select max(年龄)min(年龄)from 学生统计每个

17、人的借书本数select 学号,count(*) from 借阅 group by 学号显示借书在一本以上的学生学号及借书本数select 学号,count(*) from 借阅 group by 学号 having count(*)1显示借书者的学号,姓名,所借书的书号以及借书日期select学生学号(两表都有的字段要在前面加上表名),姓名,书号,借阅日期from学生, 借阅where学生.学号=借阅.学号显示借过书的学生信息select * from 学生 where 学号 in (select 学号 from 借阅)将查询结果放到数组中select命令into array数组名(不用预先定义)将查

温馨提示

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

评论

0/150

提交评论