第3章表的創建和使用_第1頁
第3章表的創建和使用_第2頁
第3章表的創建和使用_第3頁
第3章表的創建和使用_第4頁
第3章表的創建和使用_第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第三章 表的創建和使用本章知識點:自由表的創建、使用與維護本章知識點:自由表的創建、使用與維護 3.1 表結構表結構3.2 表的打開與關閉表的打開與關閉3.3 記錄的處理記錄的處理3.4 表的索引表的索引3.5 有關表操作的常用函數有關表操作的常用函數3.1 表結構n表及表結構的基本概念表及表結構的基本概念(1)表的概念表的概念(2)表結構概述表結構概述n表結構的創建表結構的創建(1)用用“表設計器表設計器”創建表結構創建表結構(2)用用create table-SQL命令創建表結構命令創建表結構(3)NULL值的使用值的使用n表結構的修改表結構的修改(1)用用“表設計器表設計器”修改表結構修

2、改表結構(2)用用alter table-SQL命令修改表結構命令修改表結構1、表:、表:是指存放在磁盤文件中的一張二維表,擴展名為.dbf,不可用A-J中的單個字母作表文件名。字段(field):表中的一列,最多有255列 學生表中的學號、姓名、年齡等記錄(record):表中的一行 記錄是多個字段的集合2、表的分類:、表的分類:數據庫表:表文件屬于某一個數據庫。數據庫表:表文件屬于某一個數據庫。自由表:表文件與數據庫無關聯。自由表:表文件與數據庫無關聯。表結構表結構主要是指表的字段及其屬性主要是指表的字段及其屬性1、字段名、字段名(field name) 每一個字段的名字,用以在表中每一個

3、字段的名字,用以在表中標識該字段標識該字段。 命名規則:命名規則:“見名知意見名知意”2、數據類型、數據類型(type) 表中的每個字段都有特定的數據類型表中的每個字段都有特定的數據類型 13種字段類型種字段類型,表(,表(3-1)P65 3、字段寬度、字段寬度(width) 指該字段所能容納的最大字節數 *整型整型I,備注型,備注型M,通用型,通用型G 4字節字節 *貨幣型貨幣型Y,日期型,日期型D,日期時間型,日期時間型T,雙精度型,雙精度型B 8字節字節 *邏輯型邏輯型L 1字節字節 *字符型字符型C,數值型,數值型N,浮點型,浮點型F字段的寬度需指定字段的寬度需指定若表包含備注或通用型

4、字段,系統自動生成一相應的備注文件(擴展名為.fpt)4、小數位數、小數位數(decimal) 字段寬度字段寬度=整數部分整數部分+小數點小數點+小數部分小數部分 特例特例: 字段寬度字段寬度=小數部分小數部分+1 純小數純小數5、空值支持、空值支持 空值,是用來標記記錄中空值,是用來標記記錄中“沒有值沒有值”。 不等同于不等同于0,空字符串,邏輯,空字符串,邏輯“假假”自由表設計器1)打開表設計器(多種方式)2)在表設計器中創建表結構字段名最好不要用中文字符用create table-SQL命令創建表結構 一般格式: create table xs(xh c(8),xm c(8),xb c(

5、2) &其中字段類型必須用字母表示 參見表 (2-1)P65create table js(gh c(5),xm c(8), ximing c(18),gz n(7,2)使用NULL值NOT NULL和和NULL子句子句例如:例如:create table zg(gh c(6) not null,; xm c(8) not null,csrq d null)注意:注意:當表中字段可以接受當表中字段可以接受NULL值時值時 該表最多只能有該表最多只能有254個字段個字段用表設計器修改表結構可用界面操作方式或命令可用界面操作方式或命令modify structure打開表設計器,在表設計器中修改表

6、結構打開表設計器,在表設計器中修改表結構 命令窗口用alter table-SQL命令修改表結構1)添加字段添加字段(add column)例如:添加例如:添加“班級名稱班級名稱bjmc”到到xs表中表中alter table xs add column bjmc c(12)2)重命名字段重命名字段(rename column)例如例如: 重新命名重新命名xs表的表的“bjmc”字段為字段為“bj”alter table xs rename column bjmc to bj3)刪除字段刪除字段(drop column)例如:例如: 刪除刪除xs表中的表中的“bj”字段字段alter tabl

7、e xs drop column bj3.2 表的打開與關閉n基本概念基本概念 (1)工作區工作區 (2)表的別名表的別名n“數據工作期數據工作期”窗口窗口n表的表的打開打開與與關閉關閉n表的表的獨占與共享獨占與共享“數據工作期”窗口數據工作期是當前數據動態工作環境的一種表示。數據工作期是當前數據動態工作環境的一種表示。VFP啟動后,系統自動生成一個數據工作期,稱為啟動后,系統自動生成一個數據工作期,稱為“默認默認”數據工作期。數據工作期。n每一個表單、表單集或報表在運行過程中,為了管理自己所用的數據,每一個表單、表單集或報表在運行過程中,為了管理自己所用的數據,可以形成自己的數據工作期。可以

8、形成自己的數據工作期。n每一數據工作期包含有自己的一組工作區,這些工作區含有打開的表、每一數據工作期包含有自己的一組工作區,這些工作區含有打開的表、表索引和表關系。表索引和表關系。“數據工作期數據工作期”窗口的打開窗口的打開:n菜單命令:窗口菜單命令:窗口數據工作期數據工作期n工具按鈕:常用工具按鈕:常用數據工作期窗口數據工作期窗口通過數據工作期窗口,可選擇查看數據工作期,可進行有關表的一些操作通過數據工作期窗口,可選擇查看數據工作期,可進行有關表的一些操作工作區工作區:用以標識一張打開用以標識一張打開 的表的區域的表的區域(1)打開一張表時,必須為該表指定一個工作區。)打開一張表時,必須為該

9、表指定一個工作區。(2)每個工作區有一個編號,稱為工作區號,編號范圍)每個工作區有一個編號,稱為工作區號,編號范圍1-32767,前,前10個工作區號也可用字母個工作區號也可用字母A-J表示。表示。(3)每個工作區在某一時刻只能打開一張表,打開另一表時,)每個工作區在某一時刻只能打開一張表,打開另一表時,前一張表自動被關閉。前一張表自動被關閉。(4)用戶可同時在多個工作區中打開多張表,也可將一張表同)用戶可同時在多個工作區中打開多張表,也可將一張表同時在多個區中打開。時在多個區中打開。當前工作區當前工作區:VFP正在使用的工作區,即默認工作區正在使用的工作區,即默認工作區vfp系統啟動后,系統

10、默認當前工作區為系統啟動后,系統默認當前工作區為1。當前工作區當前工作區設置當前工作區設置當前工作區(1) “窗口窗口”/“數據工作期數據工作期”/“別名別名”中選所要打開的表的別名中選所要打開的表的別名(2)命令方法命令方法: SELECT nWorkArea|cTableAlias 例,例,SELECT JS/SELECT 2 SELECT 0 &選擇未被使用的最小編號的工作區選擇未被使用的最小編號的工作區測試當前工作區測試當前工作區可用函數可用函數select(0|1|cTableAlias)來測試工作區號:來測試工作區號: 0返回當前工作區號,返回當前工作區號,1返回當前未用的最大工作

11、區號返回當前未用的最大工作區號 別名別名cTableAlias用于返回該表所在的工作區號用于返回該表所在的工作區號操作非當前工作區中的表操作非當前工作區中的表 (1)其他工作區選為當前工作區其他工作區選為當前工作區 SELECT 2 USE XS (2)在命令中強行指定工作區在命令中強行指定工作區 GO TOP IN 2/GO TOP IN XS 表的別名:是對打開的表的一個臨時標識別名的指定別名的指定:USE xs ALIAS student若打開表時沒指定表的別名若打開表時沒指定表的別名,則自動以表文件名作為別名則自動以表文件名作為別名若一張表同時在多個工作區中打開且均未指定別名:若一張表

12、同時在多個工作區中打開且均未指定別名:(1)則在第一次打開的工作區中,別名與表名相同)則在第一次打開的工作區中,別名與表名相同(2)其它工作區中用)其它工作區中用A-J以及以及W11-W32767表示表示別名的查看別名的查看:(1)“數據工作期數據工作期”窗口窗口(2)alias函數函數: alias(nWorkArea) 返回當前或指定工作區中表的別名返回當前或指定工作區中表的別名 若工作區號缺省表示當前工作區若工作區號缺省表示當前工作區表的打開:表的打開:使用表時首先必須把表顯式或隱式地打開使用表時首先必須把表顯式或隱式地打開n顯式打開是指用戶利用菜單等界面操作(文件顯式打開是指用戶利用菜

13、單等界面操作(文件打開)或打開)或USE命命令直接打開表;令直接打開表;n隱式打開是指在執行某些界面操作(項目管理器中隱式打開是指在執行某些界面操作(項目管理器中“瀏覽瀏覽”等按等按鈕)或執行鈕)或執行SQL命令時系統會自動地打開相應的表。命令時系統會自動地打開相應的表。(1)“文件文件”-“打開打開”(2)工具條上工具條上“打開打開”按鈕按鈕(3) USE XS(4)USE XS IN 0 noupdate &不許修改不許修改 SELECT 0 USE XS &在未被使用的編號最小的工作區內打開一張表在未被使用的編號最小的工作區內打開一張表(5)多次打開一張表多次打開一張表:USE XS S

14、ELECT 0USE XS AGAIN 表的關閉表的關閉(1)“數據工作期數據工作期” 中中,選一張表選一張表-“關閉關閉”按鈕按鈕(2)USE(3)USE IN 2 或或 SELECT 2 USE(4)CLOSE ALL &關閉所有的數據庫、表和索引,將當前工作區設置為關閉所有的數據庫、表和索引,將當前工作區設置為0CLOSE DATABASES &關閉所有的數據庫關閉所有的數據庫CLOSE TABLES &關閉所有的表關閉所有的表(5)退出退出VFP系統系統表的獨占與共享使用表的獨占與共享使用表的獨占使用表的獨占使用:一張表只能被一個用戶打開一張表只能被一個用戶打開表的共享使用表的共享使用

15、:一張表可以同時被多個用戶打開一張表可以同時被多個用戶打開設置表的使用方式設置表的使用方式 (1)默認情況下默認情況下:獨占,默認方式的設定獨占,默認方式的設定:“工具工具”-“選項選項” (2)SET EXCLUSIVE OFF/ON (3)USE XS SHARED/EXCLUSIVE (4)打開表時打開表時,在在“打開打開”窗口右下角窗口右下角, 有有“獨占獨占”復選框復選框 * 注:改變set exclusive的設置并不能改變已打開表的狀態,若一張表同時被多次打開,只以第一次的打開方式為準3.3 記錄的處理1、記錄的輸入、記錄的輸入2、表的瀏覽與定制、表的瀏覽與定制3、記錄的定位、記

16、錄的定位4、記錄的修改、記錄的修改5、記錄的刪除、記錄的刪除6、數據的復制、數據的復制7、數據的統計、數據的統計記錄的輸入記錄的輸入n1) 表結構創建后立即輸入記錄表結構創建后立即輸入記錄n2)在瀏覽窗口中追加記錄在瀏覽窗口中追加記錄n3)使用使用insert-SQL命令追加記錄命令追加記錄n4)使用使用append與與append from追加追加瀏覽窗口編輯窗口顯示顯示/瀏覽(編輯)進行轉換瀏覽(編輯)進行轉換表結構創建后立即輸入記錄表結構創建后立即輸入記錄在瀏覽窗口中追加記錄在瀏覽窗口中追加記錄在瀏覽狀態下向表中追加記錄在瀏覽狀態下向表中追加記錄 顯示顯示瀏覽瀏覽表表追加新記錄追加新記錄

17、 追加一條追加一條顯示顯示追加方式追加方式 可追加多條可追加多條使用insert-SQL命令追加 格式:格式: insert into xs(xh,xm,xb,nl) values (“0012304”,”張三張三”,”男男”,17) 注:若字段列表省略,則指全部字段注:若字段列表省略,則指全部字段對應關系對應關系使用使用append /append from命令追加記錄命令追加記錄append blank 追加一條空記錄追加一條空記錄append blank in nWorkArea | cTableAliasappend from 從其他表或文件中導入數據從其他表或文件中導入數據appen

18、d from filename delimited / xls delimited用于說明追加文件為用于說明追加文件為文本文本文件文件 xls用于說明追加文件為用于說明追加文件為Excel文件文件 缺省缺省時追加文件為時追加文件為表表文件文件 要注意要注意文件的格式文件的格式追加文件的格式追加文件的格式n文本文件:文本文件:每條記錄以每條記錄以回車符回車符結尾;結尾;各字段內容用各字段內容用逗號逗號分隔;分隔;字符型字段值要加字符型字段值要加引號引號。nExcel文件:文件:工作表的工作表的列結構列結構與表的與表的表結構表結構相相對應對應。表的瀏覽與定制表的瀏覽與定制n表的瀏覽表的瀏覽1、界面

19、方式(瀏覽窗口)、界面方式(瀏覽窗口)2、browse命令命令n記錄的篩選記錄的篩選1、界面方式、界面方式2、命令方式、命令方式 set filter to lExpressionn字段的篩選字段的篩選1、界面方式、界面方式2、命令方式、命令方式 set field to FieldListbrowse 命令命令語法格式:語法格式:browse fields FieldList for lExpression freeze FieldName noappend nodelete nomodify title cExpressionfreeze用于指定可以修改的字段,其它字段不可修改用于指定可以

20、修改的字段,其它字段不可修改1)全部瀏覽全部瀏覽 browse 2) 字段的篩選瀏覽字段的篩選瀏覽 browse fields xh,xm,xb3)記錄的篩選瀏覽記錄的篩選瀏覽 browse for xb=女女4)字段,記錄同時篩選字段,記錄同時篩選 browse fields xh,xm for xb=女女語法格式:語法格式:set filter to lExpressionlExpression用于指定記錄需要滿足的條件用于指定記錄需要滿足的條件缺省時表示所有記錄(即取消篩選)缺省時表示所有記錄(即取消篩選)例:例:close tables allUse jsset filter to x

21、b=“女女”Browse fields gh,xm nomodify title 女教師女教師set filter to記錄篩選記錄篩選的界面操作:表記錄篩選的界面操作:表屬性屬性Set field to 語法格式:語法格式:set field to FieldListlExpression用于指定所需字段用于指定所需字段缺省時表示所有字段(即取消篩選)缺省時表示所有字段(即取消篩選)例:例:close tables allUse jsset field to gh,xmBrowse for xb=女女 nomodify title 女教師女教師set field to字段篩選字段篩選的界面操

22、作:表字段篩選的界面操作:表屬性屬性記錄的定位記錄的定位n向表中輸入數據時,向表中輸入數據時,VFP為每記錄按輸入順序指定了為每記錄按輸入順序指定了“記錄號記錄號”,第一個輸入的記錄,記錄號為,第一個輸入的記錄,記錄號為1,依此類,依此類推。推。1、記錄指針標志記錄指針標志 當一個表文件被打開,系統自動生成三個控制標志:當一個表文件被打開,系統自動生成三個控制標志: 記錄的開始標志:介于表結構和第記錄的開始標志:介于表結構和第1條記錄之間條記錄之間 記錄指針標志:指示當前處理的記錄位置,記錄指針指記錄指針標志:指示當前處理的記錄位置,記錄指針指向的那個記錄稱為向的那個記錄稱為“當前記錄當前記錄

23、” 記錄的結束標志:整個表記錄結束的標志記錄的結束標志:整個表記錄結束的標志2、有關函數有關函數3、記錄的定位方式記錄的定位方式4、命令方式實現記錄定位命令方式實現記錄定位記錄指針記錄指針第n條記錄第1條記錄文件頭(表結構等)記錄開始標志記錄開始標志記錄結束標志記錄結束標志記錄指針標志記錄指針標志有關函數 recno()返回當前記錄號返回當前記錄號 bof() 測試記錄指針是否指向開始標志測試記錄指針是否指向開始標志 eof() 測試記錄指針是否指向結束標志測試記錄指針是否指向結束標志 當打開一張表時記錄指針的情況當打開一張表時記錄指針的情況表中記錄情況表中記錄情況bof()recno()Eo

24、f() 無記錄無記錄.t.1.t. 有記錄有記錄.f.1.f.記錄定位方式絕對定位:把記錄指針移動到指定的位置相對定位:把記錄指針從當前位置開始,相對于當前記錄向前或向后移動若干條記錄位置條件定位:按照一定條件自動地在表的某個指定范圍中查找符合該條件的記錄,若找到指針定位到該記錄上,否則將定位到指定范圍的末尾。2) skip命令命令相對定位相對定位 skip nn=1 默認值,記錄指針向下移動一個默認值,記錄指針向下移動一個n0 記錄指針向表尾移動記錄指針向表尾移動n個個 n0 記錄指針向表頭移動記錄指針向表頭移動n個個 3) locate命令命令條件定位條件定位Locate for xm=張

25、洪張洪 如果表有一個如果表有一個主控索引主控索引Skip、goto top、goto bottom命令將使記錄指針移動到索引順序決定的記錄上命令將使記錄指針移動到索引順序決定的記錄上 對于對于條件定位條件定位,可以使用,可以使用continue命令從當前記錄位置命令從當前記錄位置開始繼續進行條件定位,即定位到下一條滿足條件的記錄開始繼續進行條件定位,即定位到下一條滿足條件的記錄1) go/goto n 定位到第定位到第n條記錄條記錄 go/goto top 定位到第一個記錄定位到第一個記錄 go/goto bottom 定位到最后一個記錄定位到最后一個記錄記錄的修改記錄的修改n界面方式界面方式

26、A、用相應的命令或界面操作打開瀏覽窗口或編輯窗口、用相應的命令或界面操作打開瀏覽窗口或編輯窗口B、有規律的批量修改:瀏覽狀態下,表、有規律的批量修改:瀏覽狀態下,表/替換字段替換字段n命令方式命令方式A、 update-SQL命令命令 (參見(參見P78命令語法格式)命令語法格式) update js set gl=gl+1 where gl20記錄的刪除記錄的刪除n刪除記錄一般分兩步進行:標記要刪除的記錄,徹刪除記錄一般分兩步進行:標記要刪除的記錄,徹底刪除帶刪除標記的記錄底刪除帶刪除標記的記錄(1)標記要刪除的記錄標記要刪除的記錄(2)恢復帶刪除標記的記錄恢復帶刪除標記的記錄(3)徹底刪除

27、記錄徹底刪除記錄(4)對帶有刪除標記的記錄的訪問對帶有刪除標記的記錄的訪問標記要刪除的記錄標記要刪除的記錄1)界面方式)界面方式2)命令方式)命令方式delete或或delete-SQL命令命令(P79語法格式)語法格式)例如:例如:use js delete for (date() csrq) /36560或或 delete from js where year(date()-year(js.csrq)60) delete只能對已打開的表操作,只能對已打開的表操作,delete sql無需打開表無需打開表刪除標記恢復帶刪除標記的記錄n界面操作界面操作A、瀏覽窗口中單擊刪除標記、瀏覽窗口中單擊

28、刪除標記B、菜單命令:表、菜單命令:表/切換刪除標記(記錄指針需指向要取消刪除標記的記錄)切換刪除標記(記錄指針需指向要取消刪除標記的記錄)C、菜單命令:表、菜單命令:表/恢復記錄,在某一范圍恢復一組符合指定條件的記錄恢復記錄,在某一范圍恢復一組符合指定條件的記錄n命令操作命令操作 recall Scope for lExpressionrecall恢復當前記錄恢復當前記錄recall all 恢復所有記錄恢復所有記錄recall all for xb=“男男” 恢復所有恢復所有xb為為“男男”的記錄的記錄徹底刪除記錄n界面操作界面操作表處于表處于“瀏覽瀏覽”狀態,用菜單命令狀態,用菜單命令“

29、表表/徹底刪除徹底刪除”n命令操作命令操作pack刪除刪除當前工作區中打開表當前工作區中打開表的帶刪除標記的記錄的帶刪除標記的記錄zap 刪除刪除當前工作區中打開表當前工作區中打開表的的所有所有記錄,而不管記錄,而不管記錄是否有刪除標記,只留表結構記錄是否有刪除標記,只留表結構對帶有刪除標記的記錄的訪問可用可用set deleted命令來指定是否處理標有刪除標記的記錄命令來指定是否處理標有刪除標記的記錄語法格式語法格式set deleted on|offon 忽略有刪除標記的記錄忽略有刪除標記的記錄off 允許訪問有刪除標記的記錄(系統默認值允許訪問有刪除標記的記錄(系統默認值)數據的復制數據

30、的復制ncopy to 命令將當前工作區中已打開的表中的數據復制到其它表命令將當前工作區中已打開的表中的數據復制到其它表文件或其它類型的文件中。文件或其它類型的文件中。n語法格式:語法格式: copy to FileName fields FieldList Scope for lExpression type sdf |xls | delimited with Delimiter | with blank | with tab | with character Delimiter例,例,use xsCopy to xs1 for xb=女女 &生成一個生成一個xs1.dbf文件文件Copy

31、to xs1 fields xh,xm sdf &生成一個生成一個xs1.txt文件文件Copy to xs1 xls &生成一個生成一個xs1.xls文件文件數據的統計數據的統計計數計數: count Scope for lExpression to VarName求和求和: sum nExpression Scope for lExpression to VarName求平均求平均: average nExpression Scope for lExpression to VarName例如:例如:Close tables allUse cjCount for cj60 to a1 &結果

32、存到變量結果存到變量a1中中Sum cj for cj“索引索引”選項卡選項卡-“索引名索引名”,“類型類型”,“表達式表達式” (2)命令方式:命令方式:index on eExpression tag TagName & tag前沒有前沒有to for lExpression asending|desending unique |candidate & 缺省為普通索引缺省為普通索引例例 index on xm+xh tag xh注意注意:不能對:不能對備注型備注型字段和字段和通用型通用型字段建立索引字段建立索引索引的修改和刪除n索引的修改索引的修改 (1)“表設計器表設計器”-“索引索引”

33、 (2)INDEX命令建同名索引,則替換原索引命令建同名索引,則替換原索引n索引的刪除索引的刪除 (1)“表設計器表設計器”-“索引索引” (2)命令:命令: delete tag TagName1, TagName2例如:例如:Delete tag xhDelete tag all &索引文件同時被刪除索引文件同時被刪除注:注:若要刪除主索引或候選索引,且環境設置為若要刪除主索引或候選索引,且環境設置為set safety on,會顯示是否刪除的確認對話框會顯示是否刪除的確認對話框索引的使用n索引的作用:索引的作用:a提高查詢速度;提高查詢速度;b使記錄的顯示和處理順使記錄的顯示和處理順序按照某種指定的方式進行;序按照某種指定的方式進行;c限制記錄數據的唯一性。限制記錄數據的唯一性。n打開表的同時,可打開多個索引,但還要將一個索引設置打開表的同時,可打開多個索引,但還要將一個索引設置為主控索引,在某一時刻只有該索引對表的顯示和訪問順為主控索引,在某一時刻只有該索引對表的顯示和訪問順序進行控制序進行控制(1) use 表文件名表文件名 order tag 標識名標識名use xs order tag xh(2) 打開表

溫馨提示

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

評論

0/150

提交評論