接条件
All、some、any 采用量词方式查询中可能存在多于记录,则量词不能省略,否则,必须省略。
超连接查询:
From 后表之间用join或left join或right join 连接,此时连接条件只能放在on短语中,并且join 和on的数量相同,对应的顺序相反。
From 表1 join 表2 join表3 在select短语中,如果使用了表达式(包括
On 表2.字段=表3.字段 计算函数)则一般都要用as新字段名
On 表1.字段=表2.字段
集合并运算:
VFP支持查询的“并”运算,使用union
表的基本操作:modify structure:修改当前表结构
Use 表名 in 工作区:在指定工作区打开表文件
Use 表名 in 0 :在最小空闲打开 delect:逻辑删除 pack:物理删除
List for表文件名:显示满足条件的纪录----display for 条件
注意:如果都省略for条件,list默认显示全部记录,而display默认显示当前一条记录。
Recall 去掉删除标记---recall for 条件
表达式:
算术表达式:** ^ %(求余)永远跟除数相同
字符表达式:+ -
关系表达式:= 在整个命令中,第一个内容是变量时,则紧跟其后的“=”为赋值运算,除此之外,所有的都是关系等于运算。
字符串1=字符串2
两个字符串进行比较时需要根据set exact on/off命令进
行比较
为on:短字符串后家空格,让两个相等,然后精确比较;
为off:比较到右边的字符串结束时都相同时则为真,否则为假。
日期表达式:
严格日期格式:[^YYYY-mm-dd] set century on:显示四位世纪 set date on to YMD
Set mark to 字符(有定界符)设置年月日的分隔符
可进行的运算:D-D—N D+N—D N+D—D D-N—D
数值函数:int(数值):直接去掉小数 ceiling(数量):大于数值最小数
Floor(数值):小于数值的最大值 Round(数值,小数位数)
字符型:left(字符串,宽度) right(字符串,宽度)substr(字符串,起始位置,宽度
测试函数:reccount() len(字符串)----len(space(5)-space(2))----7
当前表的总记录数----做删除标记的也被统计
Date()--D year()---N time()---字符型
At(字符串1,字符串2)--字符1 在字符2 中首次出现的位置-----数值型
Isnull():只有(null)才为真,其余为假 empty():(null)为假
Empty(space(5))---.t.
Between(表达式1,表达式2,表达式3…)----L:表达式1是否在表达式2和表达式3的中间,即表达式2<=表达式1<=表达式3
Like(字符串1,字符串2)--字符串1中可以用*代表若干个字符,用?代表一个字符
Ctod()---将日期格式的字符串转换成一个日期
Iif(逻辑表达式,表达式2,表达式3)
Replace命令:
Replace 字段名 # with 表达式 for 条件
注意:1)省略for条件,仅更新当前一条记录
2)用with来连接字段名和表达式,而不能用赋值符号。
3)增加百分比的写法-----replace 工资 with 工资1.1
Index命令:
Index on 索引表达式 to 独立索引文件
Index on 索引表达式 tag 符合索引文件
在VFP中,用它们体现实体完整性。在建立一对一或一对多的联系时,主(父)表要求建立主索引或候选索引。
注意:1)索引分为主索引、候选索引、唯一索引、普通索引。
2)主索引只能在数据库表中建立,一个表只建一个,候选索引和普通索引可以在数据库表和自由表。
3)主索引、候选索引要求索引关键字不可以重复。
普通索引允许有重复的值,在一对多联系中,子表要求建立普通索引。
1)索引文件的打开:set index to 索引文件名
设置当前索引:set order to tag索引文件名
删除索引项:delete tag 索引名
2)建立索引可以提高查询效率而降低更新效率。
3)建立索引文件并不会改变表中的物理顺序。
Locate for 条件:将指针定位到第一条满足条件的纪录
为了定位到后继满足条件的记录只能使用continue命令。
在程序分析中,如果
有locate命令,则循环条件一般