第六章 數(shù)據(jù)庫的基本操作
1. 庫文件結(jié)構(gòu)建立CREAT[ 文件名 |?]其中A-J作為工作區(qū)代碼
在把記錄輸入完后,按CTRL+W或CTRL+END存盤。
2. 追加記錄APPEND[BLANK]
3. 記錄顯示LIST/DISPLAY [ 范圍 ][FIELDS 字段名表 ][FOR 條件 ][WHILE 條件 ][OFF][TO PRINTER/FILE 文件名 ]
4. 數(shù)據(jù)庫文件打開USE[ 庫文件名 /?][ALIAS 別名 ]
5. 關(guān)閉數(shù)據(jù)庫文件:關(guān)閉當(dāng)前工作區(qū)打開的數(shù)據(jù)庫文件USE
關(guān)閉當(dāng)前打開的所有的庫文件CLOSE DATABASES
6.數(shù)據(jù)庫文件結(jié)構(gòu)的顯示:LIST/DISPLAY STRUCTURE[TO PRINTER/TO FILE 文件名 ]
數(shù)據(jù)庫文件結(jié)構(gòu)的修改:MODIFY STRUCTURE*不能同時修改字段名和寬度
6. 指針的移動:
絕對移動(1)GO/GOTO [RECORD] 數(shù)值表達(dá)式 [IN 工作區(qū)號 / 文件別名 ]
(2)GO/GOTO TOP/BOTTOM[IN 工作區(qū) / 文件名 ]
相對移動SKIP[ 數(shù)值表達(dá)式 ][IN 工作區(qū)號 / 文件別名 ]
7. 插入記錄INSERT[BEFORE][BLANK]
8. 刪除記錄DELETE[ 范圍 ][FOR 條件 ][WHILE 條件 ]:
SET DELETED OFF/ON (取OFF,邏輯刪除無效,反之,則有效)
恢復(fù)邏輯刪除RECALL[ 范圍 ][FOR 條件 ][WHILE 條件 ]
物理刪除PACK
物理刪除所有記錄ZAP(只有結(jié)構(gòu)無記錄)
9. 記錄的修改:
編輯修改EDIT.CHANG [ 范圍 ][FIELDS 字段名表 [條件]
瀏覽編輯修改BROWSE
替換修改REPLACE[ 范圍 ] 字段1 WITH 表達(dá)式1 ……
10. 數(shù)據(jù)庫文件的排序與索引
排序:SORT TO 文件名 ON 字段1 [/A][/C][/D][, 字段2 ………[FIELDS 字段名表 ][FOR……
*關(guān)鍵字只能是C,N,D. */A(升序,默認(rèn))/D(降序) /C(不區(qū)分大/小寫)
*需要臨時文件做周轉(zhuǎn)
索引:INDEX ON 關(guān)鍵字表達(dá)式 TO 索引文件名 [FOR……][UNIQUE][ADD…]
*備注字段不能作為關(guān)鍵字
*字段索引只能是C,N,D,多字段索引只能是C
*UNIQUE進(jìn)行唯一索引(在記錄相同,只取第一個)
*未指定ADDITIVE,關(guān)閉先打開的索引文件,反之,就不關(guān)閉。
索引文件的打開USE 庫文件名 INDEX 索引文件名表
(允許打開25個) SET INDEX TO 索引文件名表
索引文件的關(guān)閉SET INDEX TO/CLOSE INDEX
指定主索引SET ORDER TO [ 數(shù)值表達(dá)式 / 索引文件名 ]
11. 數(shù)據(jù)查詢:
順序查詢:LOCATE[ 范圍 [FOR 條件 ][WHILE 條件 ]它總是把指針定位到第一個滿足條件的記錄上,想繼續(xù)查找,則用CONTINUE
索引查詢:FIND 字符串 / 數(shù)值常數(shù) 當(dāng)設(shè)置為SET EXACT OFF時,查詢時不需要精確比較,反之,則需要精確比較。
SEEK 表達(dá)式 它可以查詢包括字符型,數(shù)值型,日期型和邏輯型在內(nèi)的各種數(shù)據(jù)類型,也可以是內(nèi)存變量或者是表達(dá)式……
12. 數(shù)據(jù)統(tǒng)計:
計數(shù)命令COUNT[ 范圍 ][FOR 條件 ][WHILE 條件 ][TO 內(nèi)存變量名 ]
求和命令SUM[ 范圍 ][ 數(shù)值表達(dá)式 ][FOR 條件 ][WHILE 條件 ][TO 內(nèi)存變量名 /TO ARRAY 數(shù)組 ]
求平均值命令A(yù)VERAGE[ 范圍 ][ 數(shù)值表達(dá)式 ][FOR 條件 ][WHILE 條件 ][TO 內(nèi)存變量名 /TO ARRAY 數(shù)組 ]
分類匯總命令TOTAL ON 關(guān)鍵表達(dá)式 TO 分類庫文件名 [ 范圍 ][FIELDS 字段名表 ][FOR 條件 ][WHILE 條件 ]要求首先對庫文件進(jìn)行排序或索引
13. 數(shù)據(jù)庫文件的復(fù)制:
(1) 庫文件的復(fù)制COPY TO 庫文件名 [ 范圍 ][FIELDS 字段名表 ][FOR 條件 ][WHILE 條件 ]將當(dāng)前庫文件中的數(shù)據(jù)(包括結(jié)構(gòu))一起復(fù)制到指定的庫文件中。
(2) 庫文件結(jié)構(gòu)的復(fù)制COPY STRUCTURE TO 新庫文件名 [FIELDS 字段名表 ]
(3) 庫文件與文本數(shù)據(jù)文件的轉(zhuǎn)換復(fù)制
庫文件復(fù)制成文本數(shù)據(jù)文件COPY TO 數(shù)據(jù)文件名 SDF.DELIMITED[WITH 定界符 /BLABK][ 范圍 ][FIELDS 字段名表 ][FOR 條件 ][WHILE 條件 ]
文本數(shù)據(jù)文件中的數(shù)據(jù)復(fù)制到庫文件APPEND FROM 數(shù)據(jù)文件名 SDF.DELIMITED[WITH 定界符 /BLABK] [FOR 條件 ][FIELDS 字段名表 ]
(4) 任何類型文件的復(fù)制COPY FILE 源文件名 TO 目標(biāo)文件名 不能復(fù)制已經(jīng)打開的庫文件,且 源文件名 , 目標(biāo)文件名 必須包括主文件名和擴(kuò)展名。
14. 多重數(shù)據(jù)庫文件的操作
(1) 最多達(dá)225個工作區(qū),且前十個工作區(qū)1~10還規(guī)定了別名A~J。
(2) 工作區(qū)選擇命令SELECT 工作區(qū)號 / 別名 ,從當(dāng)前工作區(qū)訪問其它工作區(qū)打開庫文件中的某個字段時,要表示為別名。字段名或者別名- 字段名
(3) 庫文件之間的關(guān)聯(lián)SET RELATION TO [ 關(guān)鍵字表達(dá)式 / 數(shù)值表達(dá)式 INTO 工作區(qū)號 / 別名 [ADDITIVE]其中若選 數(shù)值表達(dá)式 ,而被關(guān)聯(lián)庫沒有建立索引,則作為記錄號進(jìn)行關(guān)聯(lián)。
指定[ADDITIVE]保留以前關(guān)聯(lián)。SET RELATION TO將刪除當(dāng)前工作區(qū)與所有其他工作區(qū)連接
(4) 庫文件的連接JOIN WITH 別名 TO 新庫文件名 [FIELDS 字段名表 ][FOR 條件 ]
(5) 庫文件的更新UPDATE ON 關(guān)鍵字段 FROM 別名 REPLACE 字段名1 WITH 表達(dá)式1 ……[RANDOM]其中:
關(guān)鍵字段 是2個庫都有的且都按此建立索引,并且打開,若提供更新的庫文件未建立索引,則需使用RANDOM