一、排序练习(先打开表,然后排序,会生成一个新表)
1. use 学生
sort on 年龄/d to xs && 按年龄降序排序,对所有的记录进行排序
use xs
list
2. use 学生
sort on 年龄/a to xs1 for 院系编号="6" fields 姓名, 年龄, 院系编号 && 对满足条件的记录,按年龄升序排序,取了姓名, 年龄, 院系编号三个字段。
use xs1
list
3. use 学生
sort on 院系编号/d/c, 姓名/a to xs2 && 多个字段排序
use xs2
list
二、索引练习(先打开表,然后建索引,建立索引不会生成新表)
建立索引:主要目的是为了快速查询表中的数据
1. 单索引文件中建立索引
use 学生
list
Index on 性别 to xb
list && 看看建立的索引是否起作用
set index to && 关闭索引文件
list && 刚才建立的索引不起作用
Index on 年龄 to nl unique
list
Index on 姓名 to xm for 年龄>=19
list
2. 结构复合索引文件中建立索引
use 学生
list
Index on 学号 tag xh candidate descending && 按学号建立候选索引
list
index on 年龄 tag nl for 院系编号="6" && 对满足条件的记录建立索引
list
index on 院系编号+姓名 tag yxbhxm descending && 复合字段索引,先按院系编号降序,院系编号相同的按姓名降序
list
index on 院系编号+str(年龄) tag yxbhnl descending
list
index on str(年龄)+姓名 tag nlxm descending
list
3. 非结构复合索引文件中建立索引
Use 学生
Index on 性别+姓名 tag xbxm of xuesheng
list
index on 院系编号 tag yxbh of xuesheng descending
使用索引:打开表,打开索引文件,确定主控索引
1. 打开索引文件
(a)用index命令建立索引成功后自动打开
(b)use 学生 index xb, nl, xm, xuesheng
list
(c)use 学生
set index to xb, nl, xm, xuesheng
list
2. 设置主控索引: 只能有一个索引起作用
index order to 单索引文件名 或 index order to tag 索引名
use 学生
set order to nl && nl索引起作用
sort命令排序list
set order to xm && xm索引起作用
list
set order to tag yxbhxm && yxbhxm索引起作用
list
set order to tag yxbhnl && yxbhnl索引起作用
list
set order to tag nlxm && nlxm索引起作用
list
set order to tag yxbh of xuesheng
list
set order to tag xbxm of xuesheng
list
3. 取消主控索引
set order to
list
4. 关闭索引文件
set index to 或 close index
关闭当前工作区中打开的除结构复合索引文件外的所有索引文件,同时取消主控索引。
更新索引
1.当表中的数据发生变化时,这时已打开所有的索引文件中的索引都会随表中的数据改变而自动改变;
2. 当表中的数据发生变化时,未打开的所有索引文件中的索引都得不到更新,这时应先将索引文件(所有未打开的索引文件)打开,再用reindex命令。
快速定位:在快速定位之前,应先对表进行索引
1. use 学生
Index on 姓名 tag xm
list
seek "王"
? found()
display
skip
display
2. use 学生
Index on 年龄 tag NL descending
list
seek 19
? found()
display
删除索引
1. delete tag yxbhxm
delete tag nlxm
delete tag all
如果复合索引文件中的所有索引都被删除了,该复合索引文件也就被删除了。
删除索引文件
1. delete file nl.idx
delete file xb.idx recycle
delete file xuesheng.cdx
注意:索引文件的扩展名不能省略
三、统计命令
1. 统计记录的个数 count
use 学生
count for 性别= "男" to a && 统计满足条件的记录个数,并将结果存放到一个变量中
? a
count for 院系编号= "6" to b
? b
2. 求和sum 只能对数值型字段进行操作
use 学生
sum to c
? c
sum for 院系编号= "6" to d
? d
3. 求平均值average 只能对数值型字段进行操作
use 学生
average to e
? e
average for 院系编号= "6" to f
? f
4. 计算命令calculate 只能对数值型字段进行操作
use 学生
calculate cnt(), max(年龄), min(年龄), sum(年龄), avg(年龄), var(年龄), std(年龄) to; g,h,i,j,k,l,m
? g,h,i,j,k,l,m
5. 汇总命令total 只能对数值型字段进行操作,并将结果存储到一个新表中
use 成绩
index on 学号 tag xh
list
total on 学号 to 总成绩.dbf fields 成绩 &&按学号对成绩字段汇总,即求每个学生的总成绩。将结果存储到一个新表中。
use 总成绩
list
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论