06版自考《數(shù)據(jù)庫(kù)及其應(yīng)用》筆記(10)

字號(hào):

附:函數(shù)及命令
    函數(shù)P75 數(shù)值函數(shù)
    1、絕對(duì)值 ABS(<數(shù)值表達(dá)式>) 2、取整 INT(<數(shù)值表達(dá)式>) 3、值MAX(N1,N2,…)4、最小值 MIN( N1,N2,…) 5、平方根SQRT(<數(shù)值表達(dá)式>) 6、EXP(<數(shù)值表達(dá)式>)=eX 7、LOG(<數(shù)值表達(dá)式>)=LnX
    8、正弦 SIN(<數(shù)值表達(dá)式>) 9、余弦 COS(<數(shù)值表達(dá)式>) 10、正切 TAN(<數(shù)值表達(dá)式>) (*弧度表示)
    11、0-1之間隨機(jī)數(shù) RAND([<數(shù)值表達(dá)式>])(數(shù)值表達(dá)式為負(fù),從當(dāng)前時(shí)鐘取種子數(shù))
    12、四舍五入ROUND(<數(shù)值表達(dá)式1>,<保留位數(shù)>)*保留位數(shù)為負(fù)表示其絕對(duì)值為整數(shù)部分四舍五入的位數(shù)
    字符串函數(shù)
    1、字符串長(zhǎng)度LEN(<字符表達(dá)式>)2、刪尾部空格TRIM(<字符表達(dá)式>)3、刪頭部空格LTRIM(<字符表達(dá)式>)
    4、取子串SUBSTR(<字符表達(dá)式>,<從第幾個(gè)開(kāi)始>,[<取幾個(gè)字符>]) 5、首字母大寫(xiě)PROPER(<字符表達(dá)式>)
    6、子字符串查找AT(<字符表達(dá)式1>,<字符表達(dá)式2>)返回式1在式2的開(kāi)始位置,沒(méi)找到返回0,區(qū)分大小寫(xiě)
    7、子串替換STUFF(<字符表達(dá)式1>,<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>,<字符表達(dá)式2>)
    8、大小變小寫(xiě)LOWER(<字符表達(dá)式>)9、小寫(xiě)變大寫(xiě)UPPER(<字符表達(dá)式>)10、空格SPACE(<空格數(shù)量>)
    11、字符串復(fù)制REPLICATE(<字符串>,<復(fù)制次數(shù)>)12、宏替換&<內(nèi)存變量>[,<字符串>]
    日期和時(shí)間函數(shù)
    1、取系統(tǒng)日期DATE() 2、取系統(tǒng)時(shí)間TIME()3、取年份YEAR(<日期表達(dá)式>)4、取日DAY(<日期表達(dá)式>)
    5、取月份MONTH(<日期表達(dá)式>)6、日期格式轉(zhuǎn)換MDY(<日期表達(dá)式>)(月日年格式)
    數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)
    1、字符轉(zhuǎn)數(shù)值VAL(<字符表達(dá)式>)2、字符轉(zhuǎn)日期CTOD(<字符表達(dá)式>)
    3、日期轉(zhuǎn)字符DTOC (<日期表達(dá)式>[,1])帶可選項(xiàng)“1”返回一個(gè)適于進(jìn)行索引的日期字符串
    4、數(shù)值轉(zhuǎn)字符STR(<數(shù)值表達(dá)式1>[,<返回字符串長(zhǎng)度>[,<小數(shù)部分輸出位數(shù)>]])
    測(cè)試函數(shù)
    1、數(shù)據(jù)類(lèi)型測(cè)試TYPE(<字符表達(dá)式>)2、測(cè)試文件尾EOF([<工作區(qū)號(hào)>|<文件別名>])
    2、測(cè)試文件頭BOF([<工作區(qū)號(hào)>|<文件別名>])4、測(cè)試當(dāng)前記錄號(hào)RECNO([<工作區(qū)號(hào)>|<文件別名>])
    5、測(cè)試庫(kù)文件記錄數(shù)RECCOUNT([<工作區(qū)號(hào)>|<文件別名>])6、測(cè)試屏幕行列坐標(biāo)ROW()、COL()
    7、測(cè)試是否查找成功FOUND([<工作區(qū)號(hào)>|<文件別名>])8、測(cè)試打印頭坐標(biāo)PROW()、PCOL()
    數(shù)據(jù)庫(kù)基本*作
    內(nèi)存變量賦值:1、store <表達(dá)式> to <內(nèi)存變量表>2、<內(nèi)存變量>=<表達(dá)式>
    3、save screen to <屏幕型內(nèi)存變量> restore screen from <屏幕型內(nèi)存變量>
    內(nèi)存變量釋放:1、release <內(nèi)存變量表> 2、release all [like|except<通配符>] 3、clear memory 4、clear all
    內(nèi)存變量文件建立:save to <內(nèi)存變量文件名>[all [like|except<通配符>]]
    內(nèi)存變量恢復(fù):restore from <內(nèi)存變量文件名> [additive]無(wú)additive消除當(dāng)前內(nèi)存中變量,有additive保留變量
    內(nèi)存變量顯示:1、list memory [to print] 2、display memory [to print]
    內(nèi)存變量輸出: ?|??[<表達(dá)式表>] ?從當(dāng)前光標(biāo)所在行的下一行第0列開(kāi)始顯示,??從當(dāng)前光標(biāo)所在處開(kāi)始顯示
    數(shù)組定義:dimension|declare <數(shù)組名1>(<數(shù)值表達(dá)式1>[,<數(shù)值表達(dá)式2>])[,<數(shù)組名2>(<數(shù)值表達(dá)式3>[<數(shù)值表達(dá)式4>])]… 數(shù)組元素賦值:1、store <表達(dá)式> to <數(shù)組> 2、<數(shù)組>=<表達(dá)式>
    數(shù)據(jù)庫(kù)文件記錄值傳送到數(shù)組scatter[fields<字段表>] to <數(shù)組> [blank] memvar [blank]
    數(shù)組中的數(shù)據(jù)傳送到數(shù)據(jù)庫(kù)文件gather from<數(shù)組>| memvar [fields<字段表>]
    建數(shù)據(jù)庫(kù)文件結(jié)構(gòu)create[<文件名>|?] 追加記錄append[blank] 數(shù)據(jù)庫(kù)文件打開(kāi)use[<庫(kù)文件名>|?][alias<別名>]
    記錄顯示list | display[<范圍>][fields<字段名表>][for<條件>][while<條件>][off][to printer|file<文件名>]
    范圍:record n第n條記錄*作,next n下n條記錄*作,all所有記錄*作,rest當(dāng)前到文件結(jié)束所有記錄*作
    off 不顯示記錄 關(guān)閉當(dāng)前工作區(qū)數(shù)據(jù)庫(kù)use 關(guān)閉當(dāng)前打開(kāi)的所有數(shù)據(jù)庫(kù) close databases關(guān)閉所有close all
    關(guān)閉索引文件 close indexes 關(guān)閉格式文件 close format 關(guān)閉過(guò)程文件 close procedure
    關(guān)閉后備文本文件 close alternate 顯示數(shù)據(jù)庫(kù)結(jié)構(gòu)list|display structure[to printer|to file<文件名>]
    修改庫(kù)結(jié)構(gòu) modify structure (生成。bak和。tbk文件,修改字段類(lèi)型該字段數(shù)據(jù)丟失,不能同時(shí)修改字段名和寬度)
    絕對(duì)移動(dòng)go|goto[[record]<記錄號(hào)>|top|bottom][in <工作區(qū)號(hào)>|<文件別名>](第一個(gè)記錄:鍵值最小的記錄)
    相對(duì)移動(dòng)skip[<移動(dòng)記錄數(shù)>][in <工作區(qū)號(hào)>|<文件別名>]插入記錄insert[before][blank]before:前,blank空
    邏輯刪除delete[<范圍>][for<條件>][while<條件>] 恢復(fù)邏輯刪除recall[<范圍>][for<條件>][while<條件>]
    物理刪除pack 物理刪除所有記錄zap 編輯修改edit|change[<范圍>][fields<字段名表>][for<條件>][while<條件>]
    瀏覽編輯browse[<范圍>][fields<字段名表>][for<條件>][while<條件>][freeze<字段名>][noappend][nodelete]
    [noedit][font<字體>[,<字號(hào)>] freeze<字段名>指定可修改的字段
    替換修改replace[<范圍>]<字段1>with<表達(dá)式1>[,<字段2>with<表達(dá)式2>…] [for<條件>][while<條件>]
    排序 /a升序/d降序/c不區(qū)分大小寫(xiě),關(guān)鍵字只能C、N、D型??砂嚓P(guān)聯(lián)工作區(qū)文件字段:別名->字段名
    sort to<文件名>on<字段1>[/a][/c][/d][,<字段2>[/a][/c][/d]…][<范圍>][fields<字段表>][for<條件>][while<條件>]
    index on<關(guān)鍵字表達(dá)式>to<索引文件名>[for<條件>][compact][unique][additive]多字段索引必須是C型。
    compact壓縮 unique惟一性索引(若有多條記錄具有相同關(guān)鍵字表達(dá)式,索引文件只包含第一條記錄。Additive不關(guān)閉先前打開(kāi)的索引,新建索引文件成為主索引。關(guān)閉索引文件1、set index to 2、close index
    打開(kāi)索引文件1、use<庫(kù)文件名>index<索引文件名表> 2、set index to<索引文件名表>
    指定主索引set order to[<索引文件名表中的順序號(hào)>|<索引文件名>] 重建索引reindex[compact]
    順序查詢(xún)locate[<范圍>][for<條件>][while<條件>]繼續(xù)查詢(xún)continue(locate中用while語(yǔ)句,continue無(wú)意義)
    索引查詢(xún)find<字符串>|<數(shù)值常量>只能查字符串或數(shù)字字符串有前導(dǎo)空格須用引號(hào),否則可不必使用定界符
    seek<表達(dá)式> 按指定范圍統(tǒng)計(jì)滿足條件的記錄count[<范圍>][for<條件>][while<條件>][to<內(nèi)存變量名>]
    求和:sum[<范圍>][<數(shù)值表達(dá)式>][for<條件>][while<條件>][to<內(nèi)存變量名表>|to array<數(shù)組>]
    求平均值:average[<范圍>][<數(shù)值表達(dá)式>][for<條件>][while<條件>][to<內(nèi)存變量名表>|to array<數(shù)組>]
    分類(lèi)匯總:total on<關(guān)鍵字表達(dá)式>to<分類(lèi)庫(kù)文件名>[<范圍>][fields<字段名表>][for<條件>][while<條件>]
    庫(kù)文件復(fù)制:copy to<庫(kù)文件名>[<范圍>][fields<字段名表>][for<條件>][while<條件>]
    庫(kù)結(jié)構(gòu)復(fù)制:copy structure to<新庫(kù)文件名>[fields<字段名表>] 文件復(fù)制copy file<源文件名>to<目標(biāo)文件名>
    庫(kù)文件復(fù)制成文本數(shù)據(jù)文件:sdf復(fù)制成標(biāo)準(zhǔn)格式(各記錄定長(zhǎng),字符無(wú)分界符)delimited非標(biāo)準(zhǔn)格式數(shù)據(jù)文件,特點(diǎn):各記錄不定長(zhǎng),每個(gè)記錄以回車(chē)換行為結(jié)束標(biāo)志,字段值之間用逗號(hào)分開(kāi),字符型數(shù)據(jù)用雙引號(hào)括起來(lái)。
    copy to<數(shù)據(jù)文件名>sdf|delimited[with<定界符>|blank][<范圍>][fields<字段名表>][for<條件>][while<條件>]
    文本數(shù)據(jù)到庫(kù)文件:append from<數(shù)據(jù)文件名>sdf|delimited[with<定界符>|blank][for<條件>][fields<字段名表>]
    選擇工作區(qū)select<工作區(qū)號(hào)>|<別名> 刪除關(guān)聯(lián)set relation to
    建立文件關(guān)聯(lián)set relation to[<關(guān)鍵字表達(dá)式>|<數(shù)值表達(dá)式>into<工作區(qū)號(hào)>|<別名>][additive]
    庫(kù)文件連接join with<別名>to<新庫(kù)文件名>[fields<字段名表>][for<條件>] 庫(kù)文件更新:
    update on<關(guān)鍵字段>from<別名>replace<字段名1>with<表達(dá)式1>[,<字段名2>with<表達(dá)式2>…][random]
    建立命令文件:modify command[<命令文件名>|?][in window<窗口名>|screen] 命令文件運(yùn)行:do<命令文件名>
    命令文件注釋?zhuān)?、note<注釋>2、*<注釋>3、&&<注釋> 清屏命令:clear 返回命令return
    accept[<字符表達(dá)式>]to<內(nèi)存變量>接受從鍵盤(pán)輸入的字符型數(shù)據(jù)。Input[<字符表達(dá)式>]to<內(nèi)存變量>接受從鍵盤(pán)輸入的數(shù)據(jù),wait[<字符表達(dá)式>][ to<內(nèi)存變量>][window[nowait][timeout<等待秒數(shù)>]等待一個(gè)字符。無(wú)字符表達(dá)式提示:press any key to continue.window使提示信息顯示在系統(tǒng)窗口中。
    格式化輸出:@<行,列>say<表達(dá)式>[picture“[@功能符串][格式符串]”][font<字體>[,<字號(hào)>]]
    格式化輸入:@<行,列>[say<表達(dá)式>]get<內(nèi)存變量>|<字段>[picture“[@功能符串][格式符串]”][range<上界>[,<下界>]][[open]window<窗口名>][enable|disable][valid<邏輯表達(dá)式1>][when<邏輯表達(dá)式2>]
    window指定編輯備注字段窗口(窗口須事先定義)disable|enable是否允許存取該變量
    valid檢查get數(shù)據(jù)正確性,只有邏輯表達(dá)式1為真時(shí)才能移到下一個(gè)get變量。
    定義文本編輯區(qū):@<行,列>edit<內(nèi)存變量>size<行數(shù)>,<列數(shù)>font[<字體>[,<字號(hào)>]][scroll]
    read[cycle][save]cycle定義一個(gè)循環(huán)read,可通過(guò)tab、enter回到第一個(gè)對(duì)象,save使對(duì)象能被以后的read編輯
    功能符:! 小寫(xiě)變大寫(xiě);B數(shù)值左對(duì)齊;D日期型按set date格式;E日期型按日/月/年;Z數(shù)值為0時(shí)顯示空格;$ 貨幣格式;只支持say:( 負(fù)數(shù)加括號(hào); C正數(shù)后加CR;X負(fù)數(shù)后加DB.只支持get:A只允許字母字符;J字符右對(duì)齊;K光標(biāo)移到變量時(shí)自動(dòng)刪除原內(nèi)容;T刪除字符前后空格
    格式符:X允許任何字符;#顯示正負(fù)號(hào),只許數(shù)字、空格、正負(fù)號(hào);!小寫(xiě)變大寫(xiě);*第一個(gè)有效數(shù)字前0變*;
    。 小數(shù)點(diǎn)位置;, 隔三位插,;只支持say:A數(shù)值型用A替換數(shù)字; Y邏輯型T變Y,F(xiàn)變N,數(shù)值型用Y替換數(shù)字; $數(shù)值型貨幣號(hào),字符型$替代字符; 9字符型只許0-9; 只支持get:A只允許字母;L只允許邏輯型;N只允許字母和數(shù)字;9只允許數(shù)字、正負(fù)號(hào);$第一個(gè)有效數(shù)字前0變$;
    清整個(gè)屏幕:clear 清屏幕局部區(qū)域:@<行1,列1>[clear|clear to<行2,列2>]
    分支語(yǔ)句:if<條件><命令序列1>[else<命令序列2>]endif 多分支選擇語(yǔ)句:do case case<條件1>
    <命令序列1> case<條件2><命令序列2>…case<條件n><命令序列n>[otherwise<命令序列n+1>]endcase
    while循環(huán)語(yǔ)句:do while<條件><命令序列1>[loop]<命令序列2>[exit]enddo
    for(給定次數(shù))循環(huán)語(yǔ)句:for<循環(huán)變量>=<初值>to<終值>[step<步長(zhǎng)>]<命令序列>[loop][exit]endfor
    scan循環(huán):scan[<范圍>][for<條件>][while<條件>]<命令序列>[loop][exit]endscan
    定義過(guò)程:procedure<過(guò)程名>[parameters<形參表>]<過(guò)程體>return[to master] 過(guò)程文件格式:procedure<過(guò)程名1><過(guò)程體1>return procedure<過(guò)程名2><過(guò)程體2>return…procedure<過(guò)程名n><過(guò)程體n>return
    打開(kāi)過(guò)程文件:set procedure to[<文件名>],關(guān)閉過(guò)程close procedure 調(diào)用過(guò)程do<過(guò)程名>[with<實(shí)參表>]
    定義全局變量:public<內(nèi)存變量表>
    隱藏指定內(nèi)存變量:1、private<內(nèi)存變量表>2、private all[like<通配符變量名>]|except<通配符變量名>]
    自定義函數(shù):function<函數(shù)名>[parameters<形參表>]<函數(shù)體>return<表達(dá)式> 調(diào)用函數(shù):函數(shù)名([<實(shí)參表>])
    定義窗口:define window<窗口名1>from<左上角行號(hào),列號(hào)>to<右下角行號(hào),列號(hào)>[double|panel|system||shadow][in window <窗口名2>][title<標(biāo)題>][font<字體>[,<字號(hào)>][close][float][grow][zoom][minimize]
    邊框樣式double雙線、panel粗線、system模擬命令窗口、默認(rèn)單線。border string字符串邊框,shadow陰影
    in window定義在指定的父窗口內(nèi)[close關(guān)閉][float移動(dòng)][grow改變大小][zoom化][minimize最小化]
    激活窗口:activate window<窗口名1>|in window<窗口名2>休眠窗口:deactivate window<窗口名>[all]
    釋放窗口:release window<窗口名表> 顯示、隱去窗口show/hide window<窗口名表>|
    1、定義水平菜單:define menu<菜單名>[in window<窗口名>][key<熱鍵>]
    2、定義菜單選項(xiàng):define pad<選項(xiàng)名>of<菜單名>prompt<提示>[at<行,列>][key<熱鍵>]
    3、設(shè)置菜單命令:on selection pad<選項(xiàng)名>of<菜單名><命令> 4、激活菜單:activate menu<菜單名>
    5、定義彈出菜單:define popup<菜單名>[from<左上角行,列>]
    6、定義菜單選項(xiàng):define bar<選項(xiàng)號(hào)>of<菜單名>prompt<提示>[key<熱鍵>]
    7、設(shè)置菜單命令:on selection bar<選項(xiàng)號(hào)>of<菜單名><命令> 8、激活菜單:activate popup<菜單名>
    9、下拉菜單中定義PAD選中后執(zhí)行的彈出菜單:on pad<選項(xiàng)名>of<水平菜單名>activate popup<彈出菜單名>
    10、二級(jí)彈出菜單:on selection bar<選項(xiàng)號(hào)>of<菜單名> activate popup<二級(jí)菜單名>
    下拉菜單設(shè)計(jì)命令:1,2,9(3),5,6,7(10),4(彈出菜單已經(jīng)在水平菜單中激活)
    建立create <文件名>(菜單文件|屏幕文件|報(bào)表文件|項(xiàng)目文件)
    修改modify <文件名>(菜單文件|屏幕文件|報(bào)表文件|項(xiàng)目文件)
    運(yùn)行do <文件名>(菜單文件|屏幕文件|報(bào)表文件|項(xiàng)目文件)
    對(duì)象可以用show get <變量名>[enable|disable]激活或關(guān)閉 show gets<變量表>enable
    設(shè)置參數(shù)值set<參數(shù)名>to<參數(shù)值> 設(shè)置狀態(tài)值:set<參數(shù)名>on|off
    set print on(off)打印機(jī)邏輯開(kāi)關(guān) set deleted off(on)off時(shí)被邏輯刪除的記錄仍參與*作
    set exact on(off)find查詢(xún)是否精確匹配 set development on(off) 是否自動(dòng)重新編譯、替代目標(biāo)文件
    set talk on(off)命令執(zhí)行是否給出回應(yīng),set console on(off)非格式化輸入數(shù)據(jù)是否回顯
    set device to screen(print|file<文件名>)設(shè)置輸出設(shè)備 set udfparms to [value|reference]設(shè)置傳遞方式
    set default to<目錄>設(shè)置默認(rèn)目錄 set sysmenu on(off)設(shè)置是否顯示系統(tǒng)菜單
    SQL語(yǔ)言
    建庫(kù)文件create table|dbf<庫(kù)文件名>(<字段名1><類(lèi)型>[(<長(zhǎng)度>[,<小數(shù)位>])][,<字段名2>…])|from array<數(shù)組>
    建臨時(shí)庫(kù)文件create cursor<文件名>(<字段名1><類(lèi)型>[(<長(zhǎng)度>[,<小數(shù)位>])][,<字段名2>…])|from array<數(shù)組>
    數(shù)據(jù)插入insert into<庫(kù)文件名>[(<字段名1>[,<字段名2>…])]value(<表達(dá)式1>[,<表達(dá)式2>…])
    insert into<庫(kù)文件名>from array<數(shù)組>|from memory 數(shù)據(jù)刪除 delete from<庫(kù)文件名>where<條件>
    數(shù)據(jù)修改update<庫(kù)文件名>set<字段名1>=<表達(dá)式1>[,<字段名2>=<表達(dá)式2>…][where<條件>]
    數(shù)據(jù)查詢(xún)select[all | distinct][<別名>.]<檢索項(xiàng)>[,[<別名>.]<檢索項(xiàng)>…]from<庫(kù)文件名>[<別名>][,<庫(kù)文件名>]
    [<別名>…][into<目標(biāo)>]|[to file<文件名>[additive]|to printer|to screen][where<連接條件>[and<連接條件>]
    [and|or<過(guò)濾條件>[ and|or<過(guò)濾條件>…]]][group by<分組列>[,<分組列>…]][having<過(guò)濾條件>]
    [union[all]:將兩個(gè)查詢(xún)結(jié)果合并在一起輸出,無(wú)ALL重復(fù)記錄被自動(dòng)取消,有all表示結(jié)果全部合并。