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

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導讀:
  附:函數(shù)及命令
  函數(shù)P75 數(shù)值函數(shù)
  1、絕對值 ABS(<數(shù)值表達式>) 2、取整 INT(<數(shù)值表達式>) 3、最大值MAX(N1,N2,…)4、最小值 MIN( N1,N2,…) 5、平方根SQRT(<數(shù)值表達式>) 6、EXP(<數(shù)值表達式&

函數(shù)P75 數(shù)值函數(shù)

1、絕對值 ABS( 數(shù)值表達式 ) 2、取整 INT( 數(shù)值表達式 ) 3、最大值MAX(N1,N2,…)4、最小值 MIN( N1,N2,…) 5、平方根SQRT( 數(shù)值表達式 ) 6、EXP( 數(shù)值表達式 )=eX 7、LOG( 數(shù)值表達式 )=LnX

8、正弦 SIN( 數(shù)值表達式 ) 9、余弦 COS( 數(shù)值表達式 ) 10、正切 TAN( 數(shù)值表達式 ) (*弧度表示)

11、0-1之間隨機數(shù) RAND([ 數(shù)值表達式 ])(數(shù)值表達式為負,從當前時鐘取種子數(shù))

12、四舍五入ROUND( 數(shù)值表達式1 , 保留位數(shù) )*保留位數(shù)為負表示其絕對值為整數(shù)部分四舍五入的位數(shù)

字符串函數(shù)

1、字符串長度LEN( 字符表達式 )2、刪尾部空格TRIM( 字符表達式 )3、刪頭部空格LTRIM( 字符表達式 )

4、取子串SUBSTR( 字符表達式 , 從第幾個開始 ,[ 取幾個字符 ]) 5、首字母大寫PROPER( 字符表達式 )

6、子字符串查找AT( 字符表達式1 , 字符表達式2 )返回式1在式2的開始位置,沒找到返回0,區(qū)分大小寫

7、子串替換STUFF( 字符表達式1 , 數(shù)值表達式1 , 數(shù)值表達式2 , 字符表達式2 )

8、大小變小寫LOWER( 字符表達式 )9、小寫變大寫UPPER( 字符表達式 )10、空格SPACE( 空格數(shù)量 )

11、字符串復制REPLICATE( 字符串 , 復制次數(shù) )12、宏替換 內(nèi)存變量 [, 字符串 ]

日期和時間函數(shù)

1、取系統(tǒng)日期DATE() 2、取系統(tǒng)時間TIME()3、取年份YEAR( 日期表達式 )4、取日DAY( 日期表達式 )

5、取月份MONTH( 日期表達式 )6、日期格式轉(zhuǎn)換MDY( 日期表達式 )(月日年格式)

數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

1、字符轉(zhuǎn)數(shù)值VAL( 字符表達式 )2、字符轉(zhuǎn)日期CTOD( 字符表達式 )

3、日期轉(zhuǎn)字符DTOC ( 日期表達式 [,1])帶可選項“1”返回一個適于進行索引的日期字符串

4、數(shù)值轉(zhuǎn)字符STR( 數(shù)值表達式1 [, 返回字符串長度 [, 小數(shù)部分輸出位數(shù) ]])

測試函數(shù)

1、數(shù)據(jù)類型測試TYPE( 字符表達式 )2、測試文件尾EOF([ 工作區(qū)號 | 文件別名 ])

2、測試文件頭BOF([ 工作區(qū)號 | 文件別名 ])4、測試當前記錄號RECNO([ 工作區(qū)號 | 文件別名 ])

5、測試庫文件記錄數(shù)RECCOUNT([ 工作區(qū)號 | 文件別名 ])6、測試屏幕行列坐標ROW()、COL()

7、測試是否查找成功FOUND([ 工作區(qū)號 | 文件別名 ])8、測試打印頭坐標PROW()、PCOL()

數(shù)據(jù)庫基本*作

內(nèi)存變量賦值:1、store 表達式 to 內(nèi)存變量表 2、 內(nèi)存變量 = 表達式

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)存變量恢復:restore from 內(nèi)存變量文件名 [additive]無additive消除當前內(nèi)存中變量,有additive保留變量

內(nèi)存變量顯示:1、list memory [to print] 2、display memory [to print]

內(nèi)存變量輸出: ?|??[ 表達式表 ] ?從當前光標所在行的下一行第0列開始顯示,??從當前光標所在處開始顯示

數(shù)組定義:dimension|declare 數(shù)組名1 ( 數(shù)值表達式1 [, 數(shù)值表達式2 ])[, 數(shù)組名2 ( 數(shù)值表達式3 [ 數(shù)值表達式4 ])]… 數(shù)組元素賦值:1、store 表達式 to 數(shù)組 2、 數(shù)組 = 表達式

數(shù)據(jù)庫文件記錄值傳送到數(shù)組scatter[fields 字段表 ] to 數(shù)組 [blank] memvar [blank]

數(shù)組中的數(shù)據(jù)傳送到數(shù)據(jù)庫文件gather from 數(shù)組 | memvar [fields 字段表 ]

建數(shù)據(jù)庫文件結(jié)構create[ 文件名 |?] 追加記錄append[blank] 數(shù)據(jù)庫文件打開use[ 庫文件名 |?][alias 別名 ]

記錄顯示list | display[ 范圍 ][fields 字段名表 ][for 條件 ][while 條件 ][off][to printer|file 文件名 ]

范圍:record n第n條記錄*作,next n下n條記錄*作,all所有記錄*作,rest當前到文件結(jié)束所有記錄*作

off 不顯示記錄 關閉當前工作區(qū)數(shù)據(jù)庫use 關閉當前打開的所有數(shù)據(jù)庫 close databases關閉所有close all

關閉索引文件 close indexes 關閉格式文件 close format 關閉過程文件 close procedure

關閉后備文本文件 close alternate 顯示數(shù)據(jù)庫結(jié)構list|display structure[to printer|to file 文件名 ]

修改庫結(jié)構 modify structure (生成。bak和。tbk文件,修改字段類型該字段數(shù)據(jù)丟失,不能同時修改字段名和寬度)

絕對移動go|goto[[record] 記錄號 |top|bottom][in 工作區(qū)號 | 文件別名 ](第一個記錄:鍵值最小的記錄)

相對移動skip[ 移動記錄數(shù) ][in 工作區(qū)號 | 文件別名 ]插入記錄insert[before][blank]before:前,blank空

邏輯刪除delete[ 范圍 ][for 條件 ][while 條件 ] 恢復邏輯刪除recall[ 范圍 ][for 條件 ][while 條件 ]

物理刪除pack 物理刪除所有記錄zap 編輯修改edit|change[ 范圍 ][fields 字段名表 ][for 條件 ][while 條件 ]

瀏覽編輯browse[ 范圍 ][fields 字段名表 ][for 條件 ][while 條件 ][freeze 字段名 ][noappend][nodelete]

[noedit][font 字體 [, 字號 ] freeze 字段名 指定可修改的字段

替換修改replace[ 范圍 ] 字段1 with 表達式1 [, 字段2 with 表達式2 …] [for 條件 ][while 條件 ]

排序 /a升序/d降序/c不區(qū)分大小寫,關鍵字只能C、N、D型??砂嚓P聯(lián)工作區(qū)文件字段:別名- 字段名

sort to 文件名 on 字段1 [/a][/c][/d][, 字段2 [/a][/c][/d]…][ 范圍 ][fields 字段表 ][for 條件 ][while 條件 ]

index on 關鍵字表達式 to 索引文件名 [for 條件 ][compact][unique][additive]多字段索引必須是C型。

compact壓縮 unique惟一性索引(若有多條記錄具有相同關鍵字表達式,索引文件只包含第一條記錄。Additive不關閉先前打開的索引,新建索引文件成為主索引。關閉索引文件1、set index to 2、close index

打開索引文件1、use 庫文件名 index 索引文件名表 2、set index to 索引文件名表

指定主索引set order to[ 索引文件名表中的順序號 | 索引文件名 ] 重建索引reindex[compact]

順序查詢locate[ 范圍 ][for 條件 ][while 條件 ]繼續(xù)查詢continue(locate中用while語句,continue無意義)

索引查詢find 字符串 | 數(shù)值常量 只能查字符串或數(shù)字字符串有前導空格須用引號,否則可不必使用定界符

seek 表達式 按指定范圍統(tǒng)計滿足條件的記錄count[ 范圍 ][for 條件 ][while 條件 ][to 內(nèi)存變量名 ]

求和:sum[ 范圍 ][ 數(shù)值表達式 ][for 條件 ][while 條件 ][to 內(nèi)存變量名表 |to array 數(shù)組 ]

求平均值:average[ 范圍 ][ 數(shù)值表達式 ][for 條件 ][while 條件 ][to 內(nèi)存變量名表 |to array 數(shù)組 ]

分類匯總:total on 關鍵字表達式 to 分類庫文件名 [ 范圍 ][fields 字段名表 ][for 條件 ][while 條件 ]

庫文件復制:copy to 庫文件名 [ 范圍 ][fields 字段名表 ][for 條件 ][while 條件 ]

庫結(jié)構復制:copy structure to 新庫文件名 [fields 字段名表 ] 文件復制copy file 源文件名 to 目標文件名

庫文件復制成文本數(shù)據(jù)文件:sdf復制成標準格式(各記錄定長,字符無分界符)delimited非標準格式數(shù)據(jù)文件,特點:各記錄不定長,每個記錄以回車換行為結(jié)束標志,字段值之間用逗號分開,字符型數(shù)據(jù)用雙引號括起來。

copy to 數(shù)據(jù)文件名 sdf|delimited[with 定界符 |blank][ 范圍 ][fields 字段名表 ][for 條件 ][while 條件 ]

文本數(shù)據(jù)到庫文件:append from 數(shù)據(jù)文件名 sdf|delimited[with 定界符 |blank][for 條件 ][fields 字段名表 ]

選擇工作區(qū)select 工作區(qū)號 | 別名 刪除關聯(lián)set relation to

建立文件關聯(lián)set relation to[ 關鍵字表達式 | 數(shù)值表達式 into 工作區(qū)號 | 別名 ][additive]

庫文件連接join with 別名 to 新庫文件名 [fields 字段名表 ][for 條件 ] 庫文件更新:

update on 關鍵字段 from 別名 replace 字段名1 with 表達式1 [, 字段名2 with 表達式2 …][random]

建立命令文件:modify command[ 命令文件名 |?][in window 窗口名 |screen] 命令文件運行:do 命令文件名

命令文件注釋:1、note 注釋 2、* 注釋 3、 注釋 清屏命令:clear 返回命令return

accept[ 字符表達式 ]to 內(nèi)存變量 接受從鍵盤輸入的字符型數(shù)據(jù)。Input[ 字符表達式 ]to 內(nèi)存變量 接受從鍵盤輸入的數(shù)據(jù),wait[ 字符表達式 ][ to 內(nèi)存變量 ][window[nowait][timeout 等待秒數(shù) ]等待一個字符。無字符表達式提示:press any key to continue.window使提示信息顯示在系統(tǒng)窗口中。

格式化輸出:@ 行,列 say 表達式 [picture“[@功能符串][格式符串]”][font 字體 [, 字號 ]]

格式化輸入:@ 行,列 [say 表達式 ]get 內(nèi)存變量 | 字段 [picture“[@功能符串][格式符串]”][range 上界 [, 下界 ]][[open]window 窗口名 ][enable|disable][valid 邏輯表達式1 ][when 邏輯表達式2 ]

window指定編輯備注字段窗口(窗口須事先定義)disable|enable是否允許存取該變量

valid檢查get數(shù)據(jù)正確性,只有邏輯表達式1為真時才能移到下一個get變量。

定義文本編輯區(qū):@ 行,列 edit 內(nèi)存變量 size 行數(shù) , 列數(shù) font[ 字體 [, 字號 ]][scroll]

read[cycle][save]cycle定義一個循環(huán)read,可通過tab、enter回到第一個對象,save使對象能被以后的read編輯

功能符:! 小寫變大寫;B數(shù)值左對齊;D日期型按set date格式;E日期型按日/月/年;Z數(shù)值為0時顯示空格;$ 貨幣格式;只支持say:( 負數(shù)加括號; C正數(shù)后加CR;X負數(shù)后加DB.只支持get:A只允許字母字符;J字符右對齊;K光標移到變量時自動刪除原內(nèi)容;T刪除字符前后空格

格式符:X允許任何字符;#顯示正負號,只許數(shù)字、空格、正負號;!小寫變大寫;*第一個有效數(shù)字前0變*;

。 小數(shù)點位置;, 隔三位插,;只支持say:A數(shù)值型用A替換數(shù)字; Y邏輯型T變Y,F(xiàn)變N,數(shù)值型用Y替換數(shù)字; $數(shù)值型貨幣號,字符型$替代字符; 9字符型只許0-9; 只支持get:A只允許字母;L只允許邏輯型;N只允許字母和數(shù)字;9只允許數(shù)字、正負號;$第一個有效數(shù)字前0變$;

清整個屏幕:clear 清屏幕局部區(qū)域:@ 行1,列1 [clear|clear to 行2,列2 ]

分支語句:if 條件 命令序列1 [else 命令序列2 ]endif 多分支選擇語句:do case case 條件1

命令序列1 case 條件2 命令序列2 …case 條件n 命令序列n [otherwise 命令序列n+1 ]endcase

while循環(huán)語句:do while 條件 命令序列1 [loop] 命令序列2 [exit]enddo

for(給定次數(shù))循環(huán)語句:for 循環(huán)變量 = 初值 to 終值 [step 步長 ] 命令序列 [loop][exit]endfor

scan循環(huán):scan[ 范圍 ][for 條件 ][while 條件 ] 命令序列 [loop][exit]endscan

定義過程:procedure 過程名 [parameters 形參表 ] 過程體 return[to master] 過程文件格式:procedure 過程名1 過程體1 return procedure 過程名2 過程體2 return…procedure 過程名n 過程體n return

打開過程文件:set procedure to[ 文件名 ],關閉過程close procedure 調(diào)用過程do 過程名 [with 實參表 ]

定義全局變量:public 內(nèi)存變量表

隱藏指定內(nèi)存變量:1、private 內(nèi)存變量表 2、private all[like 通配符變量名 ]|except 通配符變量名 ]

自定義函數(shù):function 函數(shù)名 [parameters 形參表 ] 函數(shù)體 return 表達式 調(diào)用函數(shù):函數(shù)名([ 實參表 ])

定義窗口:define window 窗口名1 from 左上角行號,列號 to 右下角行號,列號 [double|panel|system| border string |shadow][in window 窗口名2 ][title 標題 ][font 字體 [, 字號 ][close][float][grow][zoom][minimize]

邊框樣式double雙線、panel粗線、system模擬命令窗口、默認單線。border string字符串邊框,shadow陰影

in window定義在指定的父窗口內(nèi)[close關閉][float移動][grow改變大小][zoom最大化][minimize最小化]

激活窗口:activate window 窗口名1 | all in window 窗口名2 休眠窗口:deactivate window 窗口名 [all]

釋放窗口:release window 窗口名表 顯示、隱去窗口show/hide window 窗口名表 | all

1、定義水平菜單:define menu 菜單名 [in window 窗口名 ][key 熱鍵 ]

2、定義菜單選項:define pad 選項名 of 菜單名 prompt 提示 [at 行,列 ][key 熱鍵 ]

3、設置菜單命令:on selection pad 選項名 of 菜單名 命令 4、激活菜單:activate menu 菜單名

5、定義彈出菜單:define popup 菜單名 [from 左上角行,列 ]

6、定義菜單選項:define bar 選項號 of 菜單名 prompt 提示 [key 熱鍵 ]

7、設置菜單命令:on selection bar 選項號 of 菜單名 命令 8、激活菜單:activate popup 菜單名

9、下拉菜單中定義PAD選中后執(zhí)行的彈出菜單:on pad 選項名 of 水平菜單名 activate popup 彈出菜單名

10、二級彈出菜單:on selection bar 選項號 of 菜單名 activate popup 二級菜單名

下拉菜單設計命令:1,2,9(3),5,6,7(10),4(彈出菜單已經(jīng)在水平菜單中激活)

建立create menu|screen|report|project 文件名 (菜單文件|屏幕文件|報表文件|項目文件)

修改modify menu|screen|report|project 文件名 (菜單文件|屏幕文件|報表文件|項目文件)

運行do menu|screen|report|project 文件名 (菜單文件|屏幕文件|報表文件|項目文件)

對象可以用show get 變量名 [enable|disable]激活或關閉 show gets 變量表 enable

設置參數(shù)值set 參數(shù)名 to 參數(shù)值 設置狀態(tài)值:set 參數(shù)名 on|off

set print on(off)打印機邏輯開關 set deleted off(on)off時被邏輯刪除的記錄仍參與*作

set exact on(off)find查詢是否精確匹配 set development on(off) 是否自動重新編譯、替代目標文件

set talk on(off)命令執(zhí)行是否給出回應,set console on(off)非格式化輸入數(shù)據(jù)是否回顯

set device to screen(print|file 文件名 )設置輸出設備 set udfparms to [value|reference]設置傳遞方式

set default to 目錄 設置默認目錄 set sysmenu on(off)設置是否顯示系統(tǒng)菜單

SQL語言

建庫文件create table|dbf 庫文件名 ( 字段名1 類型 [( 長度 [, 小數(shù)位 ])][, 字段名2 …])|from array 數(shù)組

建臨時庫文件create cursor 文件名 ( 字段名1 類型 [( 長度 [, 小數(shù)位 ])][, 字段名2 …])|from array 數(shù)組

數(shù)據(jù)插入insert into 庫文件名 [( 字段名1 [, 字段名2 …])]value( 表達式1 [, 表達式2 …])

insert into 庫文件名 from array 數(shù)組 |from memory 數(shù)據(jù)刪除 delete from 庫文件名 where 條件

數(shù)據(jù)修改update 庫文件名 set 字段名1 = 表達式1 [, 字段名2 = 表達式2 …][where 條件 ]

數(shù)據(jù)查詢select[all | distinct][ 別名 .] 檢索項 [,[ 別名 .] 檢索項 …]from 庫文件名 [ 別名 ][, 庫文件名 ]

[ 別名 …][into 目標 ]|[to file 文件名 [additive]|to printer|to screen][where 連接條件 [and 連接條件 ]

[and|or 過濾條件 [ and|or 過濾條件 …]]][group by 分組列 [, 分組列 …]][having 過濾條件 ]

[union[all] select ][order by 排序項 [asc|desc][, 排序項 [asc|desc]…]]

distince:無重復的結(jié)果記錄。檢索項:主要是字段名,選中的字段可以和SQL函數(shù)一起使用

group by:將查詢結(jié)果按某一列(或多列)的值進行分組。having:只與group by配合使用,用于說明分組條件

union[all] select :將兩個查詢結(jié)果合并在一起輸出,無ALL重復記錄被自動取消,有all表示結(jié)果全部合并。

相關閱讀