第六章 数据库的基本操作
% L# R3 ~) Y8 s' v* _# { 1. 库文件结构建立CREAT[|?]其中A-J作为工作区代码
* O& _' O/ n; j 在把记录输入完后,按CTRL+W或CTRL+END存盘。! {" O( F4 L- O9 G5 `
2. 追加记录APPEND[BLANK]9 E6 ^9 G6 o) Q8 ^ g9 ^
3. 记录显示LIST/DISPLAY [][FIELDS][FOR][WHILE][OFF][TO PRINTER/FILE]
& p( f% R, W, ^2 o! R% j 4. 数据库文件打开USE[/?][ALIAS]: O, ~" m, m7 ^9 D- h# _
5. 关闭数据库文件:关闭当前工作区打开的数据库文件USE
% |4 S% y7 q, p2 N* ] 关闭当前打开的所有的库文件CLOSE DATABASES i% l2 K, a% J: k, q
6.数据库文件结构的显示:LIST/DISPLAY STRUCTURE[TO PRINTER/TO FILE]% i3 f+ O% ~& n. g1 R3 U
数据库文件结构的修改:MODIFY STRUCTURE*不能同时修改字段名和宽度
" K A- f3 b. ` 6. 指针的移动:9 W# P0 N1 g+ Y
绝对移动(1)GO/GOTO [RECORD][IN/]
5 R% v) ?' n0 e4 n, s (2)GO/GOTO TOP/BOTTOM[IN/]
# v# |+ |0 I' G; F$ J4 K6 w* Q 相对移动SKIP[][IN/]! N0 c2 V: ^* a4 r# ?) y; B- ?4 o: f
7. 插入记录INSERT[BEFORE][BLANK]+ U a I6 u0 P1 j# d( O
8. 删除记录DELETE[][FOR][WHILE]
q- {% D' ^% |6 {& v SET DELETED OFF/ON (取OFF,逻辑删除无效,反之,则有效)( W* B6 L8 U6 C' Z4 l
恢复逻辑删除RECALL[][FOR][WHILE]
, c7 \! @3 q5 _. C0 @; h 物理删除PACK
% n! g8 Y# O% A 物理删除所有记录ZAP(只有结构无记录)
" X- F% R2 B" {* P 9. 记录的修改:4 \2 d4 s6 A4 ?4 n
编辑修改EDIT.CHANG [][FIELDS[条件]
H _+ o7 c* }" Y9 W) L1 ] 浏览编辑修改BROWSE- M) I* i, { x& H$ f$ ^
替换修改REPLACE[]WITH……
2 w) T. F4 s: J 10. 数据库文件的排序与索引1 K5 _' u g% x* {+ Q: ] P
排序:SORT TO ON[/A][/C][/D][,………[FIELDS][FOR……
' i/ j: G0 V3 y *关键字只能是C,N,D. */A(升序,默认)/D(降序) /C(不区分大/小写)
6 C6 a3 r0 {$ q( t( y, M *需要临时文件做周转' D9 y( i9 B$ P x# R
索引:INDEX ONTO[FOR……][UNIQUE][ADD…]
; [# a+ `4 K e! _4 K# E, r *备注字段不能作为关键字, n j7 ?0 q: w! e
*字段索引只能是C,N,D,多字段索引只能是C
\3 B+ }# e8 _$ A+ |- l( C *UNIQUE进行唯一索引(在记录相同,只取第一个)& |8 @8 x5 i/ k6 L6 z+ Z% p
*未指定ADDITIVE,关闭先打开的索引文件,反之,就不关闭。
& n5 q7 @# t- w8 d2 | 索引文件的打开USEINDEX' b! B0 K( I) E# x4 |
(允许打开25个) SET INDEX TO 9 a( h% x5 ^& g4 i( m3 p: B, ?: p
索引文件的关闭SET INDEX TO/CLOSE INDEX I! q1 |* m8 l1 Z" ?
指定主索引SET ORDER TO [/], h2 X0 ~' H* \/ [, s! b
6 |) ?. A2 ^- I" j 11. 数据查询:
9 @! \7 y, D. M 顺序查询:LOCATE[[FOR][WHILE]它总是把指针定位到第一个满足条件的记录上,想继续查找,则用CONTINUE
& q3 u' y) Y* K1 K 索引查询:FIND/当设置为SET EXACT OFF时,查询时不需要精确比较,反之,则需要精确比较。 S) c( u& F: f$ r' k3 l# m& }& c
SEEK它可以查询包括字符型,数值型,日期型和逻辑型在内的各种数据类型,也可以是内存变量或者是表达式……
5 {1 V5 u$ E% D 12. 数据统计:- }- p' V6 G% w7 D0 E- h/ M
计数命令COUNT[][FOR][WHILE][TO]9 v; o' U [/ N; O. H' e
求和命令SUM[][][FOR][WHILE][TO/TO ARRAY]
/ G P/ ~3 c/ m1 A: b4 O 求平均值命令AVERAGE[][][FOR][WHILE][TO/TO ARRAY]/ m* J# L5 ^+ x6 S; Q+ ]
分类汇总命令TOTAL ON TO [][FIELDS][FOR][WHILE]要求首先对库文件进行排序或索引0 f4 }* `; o4 ~8 @
13. 数据库文件的复制) J& f c6 U2 o2 o
(1) 库文件的复制COPY TO [][FIELDS][FOR][WHILE]将当前库文件中的数据(包括结构)一起复制到指定的库文件中。
. R2 u6 n X) o. P" b- \ (2) 库文件结构的复制COPY STRUCTURE TO [FIELDS]) L9 F: S1 V4 V8 ]; P
(3) 库文件与文本数据文件的转换复制
1 N4 @; \8 j3 @4 C: B 库文件复制成文本数据文件COPY TO SDF.DELIMITED[WITH/BLABK][][FIELDS][FOR][WHILE]
3 v% R4 w* [ o+ F 文本数据文件中的数据复制到库文件APPEND FROM SDF.DELIMITED[WITH/BLABK] [FOR][FIELDS]
) ` o9 x: D% W0 L( {6 D; P (4) 任何类型文件的复制COPY FILE TO 不能复制已经打开的库文件,且,必须包括主文件名和扩展名。
+ X( F1 G3 ^7 \+ D% F) d" p 14. 多重数据库文件的操作
' D% q$ e' b: q& l+ g (1) 最多达225个工作区,且前十个工作区1~10还规定了别名A~J.' i4 w5 N% X' B2 O$ ~- k
(2) 工作区选择命令SELECT/,从当前工作区访问其它工作区打开库文件中的某个字段时,要表示为别名。字段名或者别名->字段名 |