第2章數據表的基本操作_第1頁
第2章數據表的基本操作_第2頁
第2章數據表的基本操作_第3頁
第2章數據表的基本操作_第4頁
第2章數據表的基本操作_第5頁
已閱讀5頁,還剩110頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫應用基礎浙江財經學院 2005-2006 ZUFE, Information School返回基本數據表基本數據表 表結構的建立表結構的建立表結構的顯示與修改表結構的顯示與修改“插入插入”按鈕:在已選定的字段前插入一個新字段。按鈕:在已選定的字段前插入一個新字段。“刪除刪除”按鈕:從表中刪除選定字段。按鈕:從表中刪除選定字段。拖動字段名左端的方塊可改變字段的順序。拖動字段名左端的方塊可改變字段的順序。命令方式。命令方式。格式:格式:CREATE CREATE /?/?功能:在當前文件夾下建立一個新數據表文件(功能:在當前文件夾下建立一個新數據表文件(.DBF.DBF)。)。若有備注字段則

2、自動建立一個同名的備注文件(若有備注字段則自動建立一個同名的備注文件(.FPT.FPT)當前文件夾的問題當前文件夾的問題 : 當前文件夾也即默認目錄。系統默認目錄一般是當前文件夾也即默認目錄。系統默認目錄一般是Visual Visual FoxProFoxPro系統所在的文件夾,需要我們重新設置默認目錄,系統所在的文件夾,需要我們重新設置默認目錄,默認目錄的設置方法有下面兩種:默認目錄的設置方法有下面兩種:方法方法1 1(菜單方式):(菜單方式): 使用菜單命令:使用菜單命令:“工具工具”“選項選項”,出現,出現“選項選項”對話對話框框 方法方法2 2(命令方式):(命令方式):命令格式:命令

3、格式: SET DEFAULT TO SET DEFAULT TO 例例2.12.1:用命令方式將當前工作目錄設置為:用命令方式將當前工作目錄設置為D D盤盤“VFP”VFP”文件文件夾下的夾下的“數據數據”文件夾。文件夾。SET DEFAULT TO D:VFPSET DEFAULT TO D:VFP數據數據 &在命令窗口輸入在命令窗口輸入(2 2)通過復制建立表結構)通過復制建立表結構 格式:格式:COPY STRUCTURE TO COPY STRUCTURE TO FIELDS FIELDS功能:復制當前表文件的結構到指定的文件。功能:復制當前表文件的結構到指定的文件。例例2.

4、2 2.2 從已存在的從已存在的“職工職工”表創建表創建“ZG1”ZG1”的表結構,的表結構,“ZG1”ZG1”表的結構與表的結構與“職工職工”表的結構一樣。表的結構一樣。USE USE 職工職工COPY STRUCTURE TO ZG1COPY STRUCTURE TO ZG1例例2.3 2.3 從已存在的從已存在的“職工職工”表創建表創建“ZG2”ZG2”的表結構,的表結構,“ZG2”ZG2”表的結構只取表的結構只取“職工職工”表的職工號、姓名、性別三個字段。表的職工號、姓名、性別三個字段。COPY STRUCTURE TO ZG2 FIELD COPY STRUCTURE TO ZG2

5、FIELD 職工號,姓名,性別職工號,姓名,性別1 1、表結構的顯示、表結構的顯示格式格式1 1:DISPLAY STRUCTURE DISPLAY STRUCTURE 格式格式2 2:LIST STRUCTURELIST STRUCTURE注意:注意:DISPLAY STRUCTUREDISPLAY STRUCTURE的顯示格式是分頁顯示,的顯示格式是分頁顯示,而而LIST STRUCTURELIST STRUCTURE的顯示格式是連續滾動顯示。的顯示格式是連續滾動顯示。例例2.4 2.4 顯示顯示“職工職工.DBF”.DBF”表結構,在命令窗口輸入下述命令:表結構,在命令窗口輸入下述命令:

6、USE USE 職工職工DISPLAY STRUCTUREDISPLAY STRUCTURE總計的字節數為總計的字節數為4848,比各字段寬度之和多,比各字段寬度之和多1 1個字節,用來個字節,用來存放刪除標記存放刪除標記“* *”。如果支持空值,則總計的字節數為如果支持空值,則總計的字節數為3939,還要增,還要增加加1 1個字節,用來記錄支持空值的狀態。個字節,用來記錄支持空值的狀態。2.2.表結構的修改表結構的修改(1)(1)菜單方式菜單方式從從“顯示顯示”“表設計器表設計器”命令,進入表命令,進入表設計器,可查看和修改當前表的結構。設計器,可查看和修改當前表的結構。(2 2)命令方式)

7、命令方式格式:格式:MODIFY STRUCTUREMODIFY STRUCTURE功能:用表設計器修改當前表結構。功能:用表設計器修改當前表結構。注意:在修改表結構時要防止數據的丟失。注意:在修改表結構時要防止數據的丟失。更改字段類型或字段寬度變小時,原字段內容會丟失。更改字段類型或字段寬度變小時,原字段內容會丟失。在更改表結構后會自動建立原表的備份。在更改表結構后會自動建立原表的備份。(.DBF.BAK.DBF.BAK,.FPT.TBK.FPT.TBK)如果丟失了數據,可以通過備份文件恢復。如果丟失了數據,可以通過備份文件恢復。 ( .BAK .DBF .BAK .DBF , .TBK .

8、FPT .TBK .FPT )1 1、表的打開、表的打開(1 1)菜單方式)菜單方式方法方法1 1:“文件文件”“打開打開”方法方法2 2選擇選擇“窗口窗口”“數數據工作期據工作期” 菜單命令菜單命令(2 2)命令方式)命令方式格式:格式:USE USE 功能:在當前工作區打開指定的表文件。功能:在當前工作區打開指定的表文件。 說明:說明:(1)(1)默認擴展名是默認擴展名是.DBF.DBF。 (2)(2)若表中有備注字段,自動打開相若表中有備注字段,自動打開相關的備注文件關的備注文件 (.FPT)(.FPT)。(3)(3)表文件打開表文件打開時,記錄指針指向首記錄時,記錄指針指向首記錄。2

9、2、表的關閉、表的關閉注意:關閉表的瀏覽窗口,并未關閉文件。注意:關閉表的瀏覽窗口,并未關閉文件。(2 2)命令方式)命令方式 USEUSE:使用不加表名的:使用不加表名的USEUSE命令,關閉當前工作區命令,關閉當前工作區中打開的表。中打開的表。 CLOSE TABELSCLOSE TABELS:關閉所有工作區中已打開的表文:關閉所有工作區中已打開的表文件。件。CLEAR ALLCLEAR ALL:清除內存變量,同時關閉所有工作區:清除內存變量,同時關閉所有工作區中已打開的表文件。中已打開的表文件。CLOSE ALLCLOSE ALL:關閉所有已打開的文件,包括表文件。:關閉所有已打開的文件

10、,包括表文件。當結構建完后,屏幕自動提示當結構建完后,屏幕自動提示“現在輸入數據記錄嗎?現在輸入數據記錄嗎?”,回答回答“是是”,即可立即給一個空表輸入記錄。,即可立即給一個空表輸入記錄。沒有立即輸入記錄,可以用下面的方法輸入記錄。沒有立即輸入記錄,可以用下面的方法輸入記錄。1 1、 用菜單方式輸入記錄用菜單方式輸入記錄(1 1)追加任意條記錄:)追加任意條記錄:選擇選擇“顯示顯示”“瀏覽瀏覽表表” ” 進入表的瀏覽窗口,然后進入表的瀏覽窗口,然后選擇選擇“顯示顯示”“追加方式追加方式” ” 菜單命令菜單命令,(2 2)追加一個空白記錄)追加一個空白記錄 :“顯示顯示” ” “瀏覽瀏覽表表”的

11、命令,進入表的瀏覽窗口,的命令,進入表的瀏覽窗口,然后選擇然后選擇“表表”“追加新記錄追加新記錄”(3) (3) 成批追加記錄:選擇成批追加記錄:選擇“表表”+“+“追加記錄追加記錄”。2.2.命令方式命令方式(1)(1)追加記錄。追加記錄。格式:格式:APPEND BLANK IN APPEND BLANK IN / 功能:在表的末尾添加一個或多個新記錄。功能:在表的末尾添加一個或多個新記錄。說明:說明:BLANKBLANK選項是添加一個空記錄選項是添加一個空記錄例例2.5 2.5 給職工表追加記錄。給職工表追加記錄。USE USE 職工職工 APPEND &APPEND &

12、用全屏幕編輯方式追加記錄用全屏幕編輯方式追加記錄APPEND BLANK &APPEND BLANK &在表文件末尾追加一個空記錄在表文件末尾追加一個空記錄(2)(2)插入命令插入命令格式:格式:INSERT BEFOREBLANKINSERT BEFOREBLANK功能:在當前表中插入一個新記錄。功能:在當前表中插入一個新記錄。說明:說明:BLANKBLANK選項:插入一個空記錄。選項:插入一個空記錄。BEFOREBEFORE選項:在當前記錄前插入一個新記錄。選項:在當前記錄前插入一個新記錄。注意問題:注意問題:記錄多時不宜使用記錄多時不宜使用 INSERT INSERT 命

13、令。命令。沒有主控索引時,用沒有主控索引時,用INSERT INSERT 命令插入的記錄只能添加到命令插入的記錄只能添加到表的最后;如果有主控索引,插入的記錄調整到相應的位表的最后;如果有主控索引,插入的記錄調整到相應的位置。置。對具有完整性約束對具有完整性約束( (如觸發器、主關鍵字或候選關鍵字等如觸發器、主關鍵字或候選關鍵字等) )的表不能使用的表不能使用 INSERT INSERT 命令。命令。例例2.6 2.6 在在“職工職工.DBF”.DBF”表的第表的第5 5條記錄前、后各插入一條空記條記錄前、后各插入一條空記錄。錄。USE USE 職工職工 GO 5GO 5INSERT BLAN

14、K INSERT BLANK GO 5GO 5INSERT BEFORE BLANK INSERT BEFORE BLANK LIST LIST 3.3.編輯備注字段編輯備注字段顯示顯示“memo”memo”表示無數據。顯示表示無數據。顯示“Memo”Memo”,表示已有數據。,表示已有數據。進入編輯狀態:進入編輯狀態:雙擊備注字段雙擊備注字段或在備注字段上按或在備注字段上按Ctrl+PgDnCtrl+PgDn鍵。鍵。退出:退出:關閉窗口關閉窗口或或Ctrl+WCtrl+W或菜單或菜單“文件文件”+“+“關閉關閉”,保存,保存并關閉。并關閉。ESCESC鍵或鍵或Ctrl+QCtrl+Q,則不保

15、存退出。,則不保存退出。4.4.編輯通用字段編輯通用字段(1 1)OLEOLE對象對象OLEOLE是是Object Linking and EmbeddingObject Linking and Embedding的簡稱,即對的簡稱,即對象的鏈接與嵌入。象的鏈接與嵌入。OLEOLE對象可以是一個完整的對象可以是一個完整的Word Word 文檔或文檔或部分的部分的Word Word 文檔,也可以是一幅畫、一張照片,或者一文檔,也可以是一幅畫、一張照片,或者一段音樂。段音樂。(2 2)鏈接與嵌入)鏈接與嵌入鏈接方法是按照文件的路徑與指定文件保持連接;鏈接方法是按照文件的路徑與指定文件保持連接;嵌

16、入方法則是將指定文件的副本放到嵌入方法則是將指定文件的副本放到Visual FoxProVisual FoxPro中。中。鏈接與嵌入的區別:數據的存儲地點不同。鏈接與嵌入的區別:數據的存儲地點不同。(3)(3)將將OLEOLE對象鏈接到通用型字段對象鏈接到通用型字段 (被鏈接的文件應存在)(被鏈接的文件應存在)“gen”gen”表示尚無數據,表示尚無數據, “ “Gen”Gen”表示已有數據存在。表示已有數據存在。用鼠標雙擊通用型字段或按用鼠標雙擊通用型字段或按Ctrl+PgDnCtrl+PgDn鍵,進入通用型字鍵,進入通用型字段編輯窗口段編輯窗口; ;選擇選擇“編輯編輯”“插入對象插入對象”

17、命令;命令;選擇選擇“由文件創建由文件創建”,并將鏈接打,并將鏈接打,按,按“瀏覽瀏覽”按鈕,按鈕,找到需要的文件,找到需要的文件,“確定確定”(4)(4)將將OLEOLE對象嵌入到通用型字段對象嵌入到通用型字段進入通用型字段編輯窗口;進入通用型字段編輯窗口;選擇選擇“編輯編輯”“插入對象插入對象”命令;命令;選擇選擇“新建新建”,選擇一個應用程序,建立對應的文件并嵌,選擇一個應用程序,建立對應的文件并嵌入;或者選擇入;或者選擇“由文件創建由文件創建” ” ,但鏈接不打,但鏈接不打,按,按“瀏瀏覽覽”按鈕按鈕. . (5)(5)通用型字段內容的修改與刪除通用型字段內容的修改與刪除修改:進入通用

18、型字段編輯窗口后,雙擊對象調出該對象修改:進入通用型字段編輯窗口后,雙擊對象調出該對象的應用程序,可對對象進行修改。的應用程序,可對對象進行修改。刪除:進入已放入刪除:進入已放入OLEOLE對象的通用型字段編輯窗口,選擇對象的通用型字段編輯窗口,選擇菜單菜單“編輯編輯” ” “清除清除”命令,可將命令,可將OLEOLE對象刪除。對象刪除。1 1、菜單方式:、菜單方式:選擇菜單選擇菜單“顯示顯示” ” “瀏覽瀏覽表表” ” ,用瀏覽窗口,用瀏覽窗口瀏覽表的內容瀏覽表的內容瀏覽窗口有瀏覽窗口有 “ “瀏覽瀏覽”和和“編輯編輯” ” 兩種顯示方式,用菜單兩種顯示方式,用菜單“顯示顯示” ” “瀏覽瀏

19、覽”和和“顯示顯示” ” “編輯編輯”命令來切換。命令來切換。2.2.命令方式命令方式(1 1)瀏覽命令()瀏覽命令(BROWSEBROWSE)格式:格式:BROWSE FIELDSBROWSE FIELDSFORFORLASTTI1LASTTITLE TLE 功能:打開當前表的瀏覽窗口,可實現顯示、修改、刪除和功能:打開當前表的瀏覽窗口,可實現顯示、修改、刪除和追加表中的記錄。追加表中的記錄。參數:參數:FIELDSFIELDS:指定顯示的字段。缺省為所有字段。:指定顯示的字段。缺省為所有字段。FOR FOR :只有:只有 為為“真真”的記錄才顯示于瀏覽窗的記錄才顯示于瀏覽窗口。口。LAST

20、LAST:表示保留上次命令:表示保留上次命令FIELDSFIELDS的選擇。的選擇。 TITLE TITLE :改寫標題欄中的默認表名。:改寫標題欄中的默認表名。例例2.72.7:瀏覽:瀏覽“職工職工.DBF”.DBF”表中已婚職工記錄的職工號表中已婚職工記錄的職工號, ,姓名姓名, ,出生日期字段,并給出瀏覽標題:出生日期字段,并給出瀏覽標題:“已婚職工基本情況已婚職工基本情況表表”。USE USE 職工職工BROWSE FIELDS BROWSE FIELDS 職工號職工號, ,姓名姓名, ,出生日期出生日期 FOR FOR 婚否婚否; ;TITLE “TITLE “已婚職工基本情況表已婚

21、職工基本情況表”(2 2)連續滾動顯示:)連續滾動顯示:格式:格式:LIST OFF LIST OFF FOR .FIELDSFOR .FIELDS.功能:滾動顯示表中的記錄。功能:滾動顯示表中的記錄。說明:說明:OFF OFF :不顯示記錄號;:不顯示記錄號;:有:有ALLALL、NEXT NNEXT N、RECORD NRECORD N、RESTRESTFOR FOR :指定顯示記錄的條件:指定顯示記錄的條件WHILEWHILE :遇到不滿足條件的記錄就停止,優先于:遇到不滿足條件的記錄就停止,優先于F FOROR 默認范圍為默認范圍為ALLALL,命令執行完畢記錄指針定在文件尾。,命令執

22、行完畢記錄指針定在文件尾。如果要顯示備注字段的內容,必須在如果要顯示備注字段的內容,必須在LISTLIST命令中指定字段命令中指定字段名名 例例2.8 2.8 用用LISTLIST命令進行顯示命令進行顯示“職工職工.DBF”.DBF”表記錄的各種操作。表記錄的各種操作。USE USE 職工職工LIST &LIST &顯示所有記錄顯示所有記錄LIST FIELDS LIST FIELDS 職工號職工號, ,姓名姓名,YEAR(,YEAR(出生日期出生日期),),基本工資基本工資, ,基本工基本工資資+100+100GO 1 &GO 1 &記錄指針移到第記錄指針移到

23、第1 1條記錄條記錄LIST NEXT 3 FIELDS LIST NEXT 3 FIELDS 職工號職工號, ,姓名姓名, ,性別性別, ,簡歷簡歷?RECNO( ) &?RECNO( ) &測試記錄指針的位置,結果是測試記錄指針的位置,結果是3 3LIST FOR SUBSTR(LIST FOR SUBSTR(職工號職工號,1,4) =”1998” .AND.,1,4) =”1998” .AND.婚婚否否 GO 6 &GO 6 &記錄指針移到第記錄指針移到第6 6條記錄條記錄LIST REST &LIST REST &顯示第顯示第6 6及后續

24、的所有記錄及后續的所有記錄?EOF() &?EOF() &測試記錄指針是否在文件尾,結果為測試記錄指針是否在文件尾,結果為.T.T. P47P47(3)(3)分屏顯示分屏顯示格式:格式:DISPLAY OFF DISPLAY OFF FOR FOR FIELDS FIELDS 功能:分屏顯示當前表中的指定數據,功能與功能:分屏顯示當前表中的指定數據,功能與LISTLIST相同。相同。說明:說明:在不帶所有選項時,在不帶所有選項時,DISPLAYDISPLAY的默認范圍為當前記錄。的默認范圍為當前記錄。DISPLAYDISPLAY與與LISTLIST的區別有兩點:的區別有兩點:D

25、ISPLAYDISPLAY的默認范圍為當前記錄,的默認范圍為當前記錄,LISTLIST的默認范圍為所有記的默認范圍為所有記錄;錄;DISPLAYDISPLAY是分屏顯示,是分屏顯示,LISTLIST是滾屏顯示。是滾屏顯示。例例2.9 2.9 分屏顯示分屏顯示“職工職工.DBF”.DBF”表記錄。表記錄。USE USE 職工職工 &剛打開的表,記錄指針在第剛打開的表,記錄指針在第1 1條記錄條記錄DISPLAYDISPLAYDISPLAY FOR DISPLAY FOR 性別性別=女女 AND AND 出生日期出生日期=1976-01-01=1976-01-01 &注意帶選項后是

26、從所有的記錄中挑選滿足條件的記錄注意帶選項后是從所有的記錄中挑選滿足條件的記錄表內容的編輯修改表內容的編輯修改1 1、記錄指針、記錄指針是系統給表文件設計的一種內部標志,用來是系統給表文件設計的一種內部標志,用來指出表的當前記錄。指出表的當前記錄。記錄號:表的每條記錄都有一個,記錄號是系統記錄號:表的每條記錄都有一個,記錄號是系統按照表記錄輸入時的順序自動給加上的,不是用按照表記錄輸入時的順序自動給加上的,不是用戶設計的字段。戶設計的字段。記錄指針定位的方法有三種:記錄指針定位的方法有三種:絕對定位、相對定位和查找定位。絕對定位、相對定位和查找定位。2.2.絕對移動絕對移動格式格式1 1:GO

27、/GOTO RECORD GO/GOTO RECORD 格式格式2 2:GO/GOTO TOP/BOTTOMGO/GOTO TOP/BOTTOM3.3.相對移動相對移動格式:格式:SKIP SKIP 功能:使記錄指針在表中向前或向后相對移動。功能:使記錄指針在表中向前或向后相對移動。USE USE 職工職工?RECNO(),BOF()?RECNO(),BOF()LISTLIST?RECNO(),EOF() ?RECNO(),EOF() GO TOPGO TOP?RECNO(),BOF() ?RECNO(),BOF() SKIP 1SKIP 1?RECNO(),BOF()?RECNO(),BOF

28、()GO BOTTOMGO BOTTOM?RECNO(),EOF()?RECNO(),EOF()SKIP SKIP ?RECNO(),EOF() ?RECNO(),EOF() GO 5GO 5DISPLAYDISPLAYSKIP 22SKIP 22?RECNO(),EOF()?RECNO(),EOF()1 1、菜單方式、菜單方式打開表后,選擇打開表后,選擇“顯示顯示”“瀏覽瀏覽” ” 進入瀏覽窗口進入瀏覽窗口2 2、命令方式、命令方式修改有:修改有:BROWSEBROWSE、EDITEDIT、CHANGECHANGE、REPLACEREPLACE等命令。等命令。其中其中BROWSEBROWSE

29、、EDITEDIT、CHANGECHANGE命令與上面的菜單類似。命令與上面的菜單類似。重點掌握成批修改命令:重點掌握成批修改命令:REPLACEREPLACE格式:格式:REPLACE REPLACE WITH WITH , , W2 WITH ITH 2 FOR FOR 注意:默認范圍是當前記錄注意:默認范圍是當前記錄例例2.11 2.11 將將“職工職工.DBF”.DBF”表復制生成一個副本表復制生成一個副本“ZG1.DBF”,ZG1.DBF”,然后將然后將“ZG1.DBF”ZG1.DBF”表的基本工資字段的數據改為原來的表的基本工資字段的數據改為原來的十倍,并將張軍的出生日期改為十倍,

30、并將張軍的出生日期改為19781978年年9 9月月8 8日。日。USE USE 職工職工COPY TO ZG1 COPY TO ZG1 USE ZG1USE ZG1REPLACE ALL REPLACE ALL 基本工資基本工資 WITH WITH 基本工資基本工資* *1010LOCATE FOR LOCATE FOR 姓名姓名=張軍張軍 & &查找姓名為查找姓名為 張軍張軍 的記錄的記錄REPLACE REPLACE 出生日期出生日期 WITH 1978-09-08 WITH 1978-09-08 LISTLIST例例2.12 2.12 有一個工資表文件有一個工資表文件“

31、工資工資.DBF”.DBF”,其表結構如表,其表結構如表2.2.8 8所示,要求計算每位職工的應發工資和實發工資。所示,要求計算每位職工的應發工資和實發工資。USE USE 工資工資LISTLIST1 1、菜單方式(在瀏覽窗口中進行)、菜單方式(在瀏覽窗口中進行)(1)(1)邏輯刪除:邏輯刪除:進入表的瀏覽窗口,單擊要刪記錄左邊的刪除框進入表的瀏覽窗口,單擊要刪記錄左邊的刪除框 (2) (2) 物理刪除:選擇物理刪除:選擇“表表”“徹底刪除徹底刪除”。2 2、命令方式、命令方式(1)(1)邏輯刪除邏輯刪除格式:格式:DELETE DELETE FOR FOR 功能:給要刪除的記錄打上刪除標記功

32、能:給要刪除的記錄打上刪除標記“* *” ” 。注意:默認范圍是當前記錄注意:默認范圍是當前記錄(NEXT 1)(NEXT 1)例例2.13 2.13 記錄的邏輯刪除。記錄的邏輯刪除。USE USE 職工職工COPY TO ZG2COPY TO ZG2USE ZG2USE ZG2DELETE FOR DELETE FOR 基本工資基本工資=2300 =2300 GO 5GO 5DELETEDELETELIST &2LIST &2、5 5、7 7記錄被邏輯刪除記錄被邏輯刪除(2) (2) 設置邏輯刪除的有效性設置邏輯刪除的有效性格式:格式:SET DELETED ON/OFFSE

33、T DELETED ON/OFF功能:指定標有刪除標記的記錄是否參與其他命令的處理。功能:指定標有刪除標記的記錄是否參與其他命令的處理。SET DELETED ONSET DELETED ONLIST &LIST &顯示結果如圖顯示結果如圖2. 432. 43(3)(3)恢復刪除恢復刪除格式:格式:RECALL RECALL FOR FOR 功能:將指定記錄的邏輯刪除標記清除功能:將指定記錄的邏輯刪除標記清除 。注意:默認的范圍是當前記錄注意:默認的范圍是當前記錄(NEXT 1)(NEXT 1)。例例2.15 2.15 表記錄的邏輯刪除與恢復。表記錄的邏輯刪除與恢復。USE U

34、SE 商品商品DELETE FOR DELETE FOR 類別類別=飲料飲料 OR OR 類別類別=糖果糖果 SET DELETED OFF &SET DELETED OFF &設置邏輯刪除標志無效設置邏輯刪除標志無效 LISTLISTRECALL FOR LEFT(RECALL FOR LEFT(商品號商品號,2)=30 ,2)=30 LIST LIST (4)(4)物理刪除物理刪除格式:格式:PACK PACK 功能:永久刪除當前表中標有刪除標記的記錄。功能:永久刪除當前表中標有刪除標記的記錄。例例2.16 2.16 物理刪除操作。物理刪除操作。USE USE 職工職工CO

35、PY TO ZG3COPY TO ZG3USE ZG3USE ZG3DELETE FOR DELETE FOR 性別性別=“=“男男”PACK &PACKPACK &PACK后記錄號重新編排后記錄號重新編排LISTLIST(5)(5)刪除所有記錄刪除所有記錄格式:格式:ZAPZAP功能:物理刪除所有記錄,只留下表的結構。功能:物理刪除所有記錄,只留下表的結構。例例2.17 2.17 物理刪除所有記錄。物理刪除所有記錄。USE ZG3USE ZG3LISTLISTSET SAFETY ON &SET SAFETY ON &設置安全開關為設置安全開關為ONON狀態狀

36、態ZAP &ZAP &出現確認對話框出現確認對話框表排序與索引表排序與索引格式:格式:SORT TO SORT TO ON ON /A/D/C1 /A/D/C功能:對當前表按功能:對當前表按 1 、 2 依次排序,并將依次排序,并將排序后的記錄存放到指定文件中。排序后的記錄存放到指定文件中。注意:命令的默認范圍是注意:命令的默認范圍是ALLALL。例如顯示按出生年月從大到小降序排列例如顯示按出生年月從大到小降序排列 USE USE 職工職工SORT ON SORT ON 基本工資基本工資, ,出生日期出生日期TO ZGS56TO ZGS56USE ZGS56USE ZGS56L

37、IST LIST SORT ON SORT ON 職工號職工號 TO ZGS1 FIELD TO ZGS1 FIELD 職工號職工號, ,姓名姓名 USE ZGS1USE ZGS1LIST LIST SORTSORT排序的不足:排序的不足:是物理排序,生成與原表一樣大小的是物理排序,生成與原表一樣大小的.DBF.DBF文件,排序文件,排序的速度慢,占很大的存儲空間。的速度慢,占很大的存儲空間。1 1、索引文件的概念、索引文件的概念僅由索引關鍵字和指針(記錄號)組成的文件。僅由索引關鍵字和指針(記錄號)組成的文件。2 2、索引文件的分類、索引文件的分類索引文件索引文件單項索引單項索引.IDX.I

38、DX復合索引復合索引.CDX.CDX壓縮壓縮不壓縮不壓縮結構復合索引結構復合索引非結構非結構( (獨立獨立) )復合索引復合索引(1 1)單項索引文件()單項索引文件( .IDX .IDX ) 用命令建立,只有一個索引項,不會隨著表的打開而用命令建立,只有一個索引項,不會隨著表的打開而打開。打開。單項索引文件的示意單項索引文件的示意(2 2)結構復合索引文件)結構復合索引文件 (.CDX.CDX)在創建表或修改表結構時建立的。與表名相同,隨表在創建表或修改表結構時建立的。與表名相同,隨表自動打開和同時關閉。自動打開和同時關閉。結構復合索引文件示意結構復合索引文件示意 (3 3)非結構)非結構(

39、 (獨立獨立) )復合索引文件復合索引文件 (.CDX.CDX)是用命令另行建立的,與表文件不同名。不會隨表自是用命令另行建立的,與表文件不同名。不會隨表自動打開,必須用命令打開。動打開,必須用命令打開。非結構復合索引文件示意非結構復合索引文件示意 建議:表文件的索建議:表文件的索引一般選擇結構復引一般選擇結構復合索引文件的形式。合索引文件的形式。 如果是臨時需要索如果是臨時需要索引,可以選擇單項引,可以選擇單項索引文件索引文件.IDX.IDX。1 1、菜單方式、菜單方式 (只能建結構復合索引!)(只能建結構復合索引!)“顯示顯示”“表設計器表設計器”“字段卡字段卡” 也可以在也可以在“索引卡

40、索引卡”中建立、修改和刪除索引標識中建立、修改和刪除索引標識。主索引:索引表達式必須是關鍵字段。主索引:索引表達式必須是關鍵字段。候選索引:同主索引的要求。候選索引:同主索引的要求。唯一索引:相同索引值的記錄只留一條記錄。唯一索引:相同索引值的記錄只留一條記錄。普通索引:沒有限制。普通索引:沒有限制。2 2、命令方式、命令方式(1 1)建立單項索引文件)建立單項索引文件: :格式:格式:INDEX ON INDEX ON TO TO UNIQUE COMPACT ADDITIVEUNIQUE COMPACT ADDITIVE功能:對當前表根據索引表達式的值升序建立單項索引文件功能:對當前表根據

41、索引表達式的值升序建立單項索引文件。壓縮壓縮索引唯一性索引唯一性添加,不關閉原添加,不關閉原索引索引【例【例2.192.19】建立各種單項索引文件】建立各種單項索引文件 。USE USE 職工職工INDEX ON INDEX ON 職工號職工號 TO ZGHTO ZGHINDEX ON INDEX ON 基本工資基本工資 TO JBGZTO JBGZINDEX ON STR(INDEX ON STR(基本工資基本工資,6,2)+DTOS(,6,2)+DTOS(出生日期出生日期) TO ZG56) TO ZG56LIST LIST INDEX ON 8000-INDEX ON 8000-基本工資

42、基本工資 TO JBGZID TO JBGZID (2 2)建立復合索引文件)建立復合索引文件格式:格式:INDEX ON INDEX ON TAG TAG OF OF FOR FOR UNIQUE UNIQUE ASCENDING/DESCENDING ADDITIVEASCENDING/DESCENDING ADDITIVE功能:對當前表按索引表達式升序或降序建立索引,并以功能:對當前表按索引表達式升序或降序建立索引,并以索引標識為標志,存入結構復合索引文件或索引標識為標志,存入結構復合索引文件或OFOF后指定后指定的非結構的非結構( (獨立獨立) )復合索引文件中。復合索引文件中。非結構

43、非結構( (獨立獨立) )復合索引文件名復合索引文件名升序升序/ /降序降序【例【例2.202.20】建立各種復合索引文件。】建立各種復合索引文件。USE USE 職工職工 EXCLUSIVE EXCLUSIVE INDEX ON INDEX ON 姓名姓名 TAG XM1 TAG XM1 INDEX ON INDEX ON 姓名姓名 TAG XM2 OF FJGTAG XM2 OF FJGINDEX ON INDEX ON 婚否婚否 TAG HF OF FJG UNIQUE TAG HF OF FJG UNIQUE INDEX ON INDEX ON 基本工資基本工資 DESCENDING

44、TAG JBGZDESCENDING TAG JBGZ1 1、打開索引文件、打開索引文件(下列情況索引已打開:剛建立的索引、結構復合(下列情況索引已打開:剛建立的索引、結構復合索引。)索引。)(1 1)打開表的同時打開索引文件)打開表的同時打開索引文件格式:格式:USE USE INDEX INDEX ORDER ORDER /TAG /TAG OF OF 功能:在打開表文件時打開各個索引文件。功能:在打開表文件時打開各個索引文件。【例【例2.232.23】打開索引文件并觀察記錄指針及文件頭尾情況】打開索引文件并觀察記錄指針及文件頭尾情況 。GO TOPGO TOP?RECNO(),BOF()

45、?RECNO(),BOF()SKIP -1SKIP -1?RECNO(),BOF()?RECNO(),BOF()GO BOTTOMGO BOTTOM?RECNO(),EOF()?RECNO(),EOF()SKIPSKIP?RECNO(),EOF()?RECNO(),EOF() (11 .T.) (11 .T.)(2 2)打開表文件后打開索引文件)打開表文件后打開索引文件格式:格式:SET INDEX TO SET INDEX TO ORDER ORDER. . 功能:打開一個或多個索引文件,供當前表使用。功能:打開一個或多個索引文件,供當前表使用。【例【例2.242.24】打開前面已經建立的非

46、結構復合索引文件】打開前面已經建立的非結構復合索引文件FJG.CDXFJG.CDX、單項索引文件單項索引文件ZG56.IDXZG56.IDX、ZGH.IDXZGH.IDX、JBGZ.IDXJBGZ.IDX,并觀察主控,并觀察主控索引。索引。USE USE 職工職工SET INDEX TO FJG, ZG56, ZGHSET INDEX TO FJG, ZG56, ZGHLIST LIST &記錄以物理順序顯示記錄以物理順序顯示SET INDEX TO JBGZ ADDITIVE SET INDEX TO JBGZ ADDITIVE &追加打開追加打開JBGZ.IDXJBGZ.I

47、DXLIST LIST &以以JXJ.IDXJXJ.IDX為主控索引為主控索引2 2、確定主控索引文件、確定主控索引文件所謂主控索引是指處理和顯示記錄使用的索引順序。所謂主控索引是指處理和顯示記錄使用的索引順序。格式:格式:SET ORDER TO SET ORDER TO / TAG/ TAGOFOF功能:重新確定主控索引文件功能:重新確定主控索引文件 :是以:是以USEUSE或或SET INDEXSET INDEX的索引文件列表中出現的的索引文件列表中出現的次序編號的,其順序為:從次序編號的,其順序為:從1 1號開始按打開的號開始按打開的.IDX.IDX文件在文件在 中的次序編號;

48、然后是結構復合索引文件,中的次序編號;然后是結構復合索引文件,按其索引標識生成的順序依次編號;最后是非結構復合索按其索引標識生成的順序依次編號;最后是非結構復合索引文件,按其索引標識生成順序依次編號。引文件,按其索引標識生成順序依次編號。建議使用建議使用 或或 來確定主控。來確定主控。【例【例2.252.25】確定主控索引文件或主控標識】確定主控索引文件或主控標識 。USE USE 職工職工 EXCLUSIVE EXCLUSIVE LIST LIST SET INDEX TO JBGZ, ZG56, ZGH, FJG SET INDEX TO JBGZ, ZG56, ZGH, FJG SET

49、ORDER TO ZG56SET ORDER TO ZG56SET ORDER TO ZGHSET ORDER TO ZGHSET ORDER TO TAG HFSET ORDER TO TAG HFLIST LIST SET ORDER TO &SET ORDER TO &恢復自然順序恢復自然順序3 3、索引文件更新、索引文件更新格式:格式:REINDEX REINDEX 功能:更新當前工作區打開的所有索引文件。功能:更新當前工作區打開的所有索引文件。4 4、關閉索引文件、關閉索引文件格式格式1 1:CLOSE INDEXESCLOSE INDEXES格式格式2 2:SET

50、INDEX TOSET INDEX TO功能:都是關閉當前工作區的所有索引文件。功能:都是關閉當前工作區的所有索引文件。另:關閉表的同時索引文件也被關閉。另:關閉表的同時索引文件也被關閉。注意:索引文件打開的情注意:索引文件打開的情況下,能自動更新。不須況下,能自動更新。不須用用REINDEXREINDEX!1 1、順序查找、順序查找(1 1)順序查找命令)順序查找命令格式:格式:LOCATE FOR LOCATE FOR 功能:按順序搜索表找到滿足條件的第一個記錄。功能:按順序搜索表找到滿足條件的第一個記錄。該命令用于查找未索引或已索引的表文件。該命令用于查找未索引或已索引的表文件。LOCA

51、TELOCATE的默認范圍是的默認范圍是ALLALL,即所有記錄。,即所有記錄。如果找到滿足條件的記錄,函數如果找到滿足條件的記錄,函數FOUND()FOUND()的結果為的結果為.T. .T. ,函數函數EOF()EOF()為為.F. .F. ;否則,;否則,FOUND()FOUND()為為.F. .F. ,EOF()EOF()為為.T. .T. 。(2 2)繼續查找命令。)繼續查找命令。格式:格式:CONTINUECONTINUE定位到滿足定位到滿足LOCATELOCATE條件的下一條記錄,可重復執行條件的下一條記錄,可重復執行CONTINUECONTINUE,直到到達范圍邊界或文件尾。直

52、到到達范圍邊界或文件尾。【例【例2.272.27】用】用LOCATELOCATE、CONTINUECONTINUE順序查找滿足條件的一組記錄順序查找滿足條件的一組記錄 。USE USE 職工職工LOCATE FOR YEAR(LOCATE FOR YEAR(出生日期出生日期)=1976 &)=1976 &查找查找19761976年出生的職工年出生的職工?FOUND()?FOUND()DISPLAY &DISPLAY &顯示找到的第一個記錄顯示找到的第一個記錄CONTINUE &CONTINUE &繼續查找下一條記錄繼續查找下一條記錄DISPLAY

53、DISPLAYCONTINUECONTINUE? EOF() &? EOF() &結果為真,說明到了文件尾,查找結束結果為真,說明到了文件尾,查找結束2 2、索引查找、索引查找格式:格式:SEEK SEEK 功能:在已打開的索引文件中搜索索引關鍵字與指定表達式功能:在已打開的索引文件中搜索索引關鍵字與指定表達式匹配的第一個記錄。匹配的第一個記錄。說明:說明: :可以是字符型、數值型、邏輯型、日期型:可以是字符型、數值型、邏輯型、日期型等各種類型的表達式。也可以是單個的常量或變量。等各種類型的表達式。也可以是單個的常量或變量。【例【例2.282.28】用】用SEEKSEEK命令進

54、行索引查找命令進行索引查找 。USE USE 職工職工SET ORDER TO JBGZSET ORDER TO JBGZSEEK 2100SEEK 2100&查找基本工資查找基本工資=2100=2100的記錄的記錄 DISPLAYDISPLAYSKIPSKIP & &查找下一個基本工資查找下一個基本工資=2100=2100的記錄的記錄DISPLAYDISPLAYINDEX ON INDEX ON 職工號職工號+ +姓名姓名 TAG ZGHXM &TAG ZGHXM &按職工號按職工號+ +姓名建立雙重索引姓名建立雙重索引 NAME=NAME=張軍張軍

55、SEEK 200001+NAME SEEK 200001+NAME &查找的表達式是字符型的查找的表達式是字符型的?FOUND(),RECNO(),EOF() ?FOUND(),RECNO(),EOF() &找到記錄,是第找到記錄,是第6 6號記錄號記錄 DISPLAY DISPLAY INDEX ON INDEX ON 出生日期出生日期 TO CSRQTO CSRQSEEK 1976-12-25 SEEK 1976-12-25 &查找表達式可以是日期型常量或變量查找表達式可以是日期型常量或變量DISPLAY DISPLAY 表的其他操作表的其他操作1 1、計數命令、計

56、數命令格式:格式:COUNT TO COUNT TO FOR FOR 功能:統計當前表中指定范圍內滿足條件的記錄個數。功能:統計當前表中指定范圍內滿足條件的記錄個數。 說明:默認的范圍是說明:默認的范圍是ALLALL。TO TO :存儲計算結果(內存變量或數組):存儲計算結果(內存變量或數組)【例【例2.292.29】統計職工表的職工總人數以及男、女職工的人數。】統計職工表的職工總人數以及男、女職工的人數。USE USE 職工職工COUNT TO ZRSCOUNT TO ZRSCOUNT FOR COUNT FOR 性別性別=男男 TO MZG TO MZGCOUNT FOR COUNT FO

57、R 性別性別=女女 TO WZG TO WZG?總人數總人數=+STR(ZRS,2), =+STR(ZRS,2), 男職工人數男職工人數=+STR(MZG,1),;=+STR(MZG,1),; 女職工人數女職工人數=+STR(WZG,1) =+STR(WZG,1) 2 2、數值字段求和命令、數值字段求和命令格式:格式:SUM SUM FOR FOR TO TO TO ARRAY TO ARRAY 功能:對當前表的指定數值型字段或全部數值型字段縱向求和。功能:對當前表的指定數值型字段或全部數值型字段縱向求和。說明:默認范圍是所有記錄說明:默認范圍是所有記錄(ALL)(ALL)。【例【例2.302

58、.30】對工資表基本工資、崗位津貼和實發金額字段求和。】對工資表基本工資、崗位津貼和實發金額字段求和。SET TALK OFF &SET TALK OFF &關閉對話開關,計算結果不馬上顯示關閉對話開關,計算結果不馬上顯示USE USE 工資工資SUM SUM 基本工資基本工資, ,崗位津貼崗位津貼, ,實發金額實發金額 TO GZ1,GZ2,GZ3TO GZ1,GZ2,GZ3?GZ1,GZ2,GZ3 &?GZ1,GZ2,GZ3 &用顯示命令顯示結果用顯示命令顯示結果 SET TALK ON &SET TALK ON &打開對話開關,計算結果馬上

59、顯示打開對話開關,計算結果馬上顯示SUM TO ARRAY GZSUM TO ARRAY GZLIST MEMORY LIKE GZLIST MEMORY LIKE GZ* * & &顯示內存變量數組顯示內存變量數組GZGZ3 3、求平均數命令、求平均數命令格式:格式:AVERAGE AVERAGE FOR FOR TO TO / TO ARRAY / TO ARRAY 功能:計算數值表達式或字段的算術平均值。功能:計算數值表達式或字段的算術平均值。說明:說明:AVERAGEAVERAGE命令各參數的含義與命令各參數的含義與SUMSUM命令相同。命令相同。【例【例2.312.3

60、1】對工資表的基本工資、崗位津貼和實發金額字段】對工資表的基本工資、崗位津貼和實發金額字段求平均值。求平均值。USE USE 工資工資AVERAGE AVERAGE 基本工資基本工資, ,崗位津貼崗位津貼, ,實發金額實發金額 TO PJ1,PJ2,PJ3TO PJ1,PJ2,PJ3? PJ1,PJ2,PJ3? PJ1,PJ2,PJ3【例【例2.322.32】在工資表的最后追加二條新記錄,分別填入每】在工資表的最后追加二條新記錄,分別填入每項工資的總額和平均值。結果如下:項工資的總額和平均值。結果如下:USE USE 工資工資COPY TO COPY TO 工資工資1 1USE USE 工資工資1 1SUM TO ARRAY ASUM TO ARRAY AAVERAGE TO ARRAY B AVERAGE TO ARRAY B APPEND BLANKAPPEND BLANKREPLACE REPLACE 姓名姓名 WITH WITH 合計合計,基本工資基本工資 WITH A(1), WITH A(1), 崗位津崗位津貼貼 WITH A(2),WITH A(2),其他發款其他發款 WITH A(3),WITH A(3),應發金額應

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論