數據庫文件和記錄命令
添加表向當前數據庫添加壹個空閑表。
APPEND在表的末尾添加壹條或多條新記錄。
從數組追加將數組中的記錄添加到表中。
APPEND FROM從文件中讀取記錄,並將它們追加到當前表的末尾。
APPEND GENERAL從文件中導入OLE對象,並將它們放入公共字段中。
Appendememo將文本文件的內容復制到memo字段中。
追加過程將文本文件中的存儲過程追加到當前數據庫中。
AVERAGE計算數值表達式或字段的算術平均值。
空白清除當前記錄中所有字段的數據。
瀏覽打開壹個瀏覽窗口,顯示當前或選定表格的記錄。
CALCULATE對表中的字段或包含字段的表達式執行財務和統計運算。
更改顯示要編輯的字段。
關閉關閉所有類型的文件。
關閉備忘錄關閉壹個或多個評論編輯窗口。
編譯數據庫編譯數據庫中的存儲過程。
繼續繼續上壹個定位命令。
復制備註將當前記錄中指定備註字段的內容復制到文本文件中。
COPY PROCEDURES將當前數據庫中的存儲過程'復制到壹個文本文件中。
復制結構用當前選定的表結構創建壹個新的空的自由表。
復制結構擴展創建壹個新表,其字段包含當前選定表的結構信息。
復制到數組將當前選定表格中的數據復制到數組中。
復制到用當前選定表格的內容創建壹個新文件。
計數統計表中的記錄數
CREATE生成新的VisualFoxPro表。
創建連接創建壹個命名連接,並將其存儲在當前數據庫中。
創建數據庫創建並打開數據庫。
CREATE TRIGGER為表創建刪除、插入或更新觸發器。
CREATE VIEW從VisualFoxPro環境中創建視圖文件。
刪除標記要刪除的記錄。
刪除連接從當前數據庫中刪除已命名的連接。
刪除數據庫從磁盤中刪除數據庫。
DELETE TRIGGER從當前數據庫的表中刪除刪除、插入或更新觸發器。
刪除視圖從當前數據庫中刪除SQL視圖。
DISPLAY在VisualFoxPro主窗口或用戶自定義窗口中顯示與當前表格相關的信息。
顯示連接顯示有關當前數據庫中命名連接的信息。
顯示數據庫顯示有關當前數據庫的信息,或有關當前數據庫中的字段、命名連接、表或視圖的信息。
顯示內存顯示內存變量和數組的當前內容。
DISPLAY PROCEDURES顯示當前數據庫中存儲過程的名稱。
顯示結構顯示表格文件的結構。
顯示表格顯示當前數據庫中包含的所有表格和表格信息。
顯示視圖顯示有關當前數據庫中SQL視圖的信息,以及SQL視圖是基於本地表還是基於遠程表。
DROP TABLE從數據庫中刪除壹個表,並將其從磁盤中刪除。
DROP VIEW從當前數據庫中刪除指定的SQL視圖。
編輯顯示要編輯的字段。
FoxPro的命令結構壹般由命令動詞、句子體和註釋組成。
如:列表[範圍][[字段字段名稱列表] [FOR條件][WHILE條件][OFF][打印]
共同條款
範圍:表示記錄的執行範圍,可以是下列之壹:
ALL表示所有記錄;
下壹個n表示從當前記錄開始的後面n個記錄;
記錄n表示記錄號n;
REST是指從當前記錄到最後壹條記錄。
字段字段名表:用於指定操作的字段。多個字段用逗號分隔。
FOR condition:對滿足條件的記錄進行操作。
WHILE條件:當遇到第壹條不滿足條件的記錄時,停止命令執行。
在下面的命令中,大寫的英文單詞是關鍵字,必須按原樣書寫。
“共同條款”是指以下可選條款:
[範圍][字段字段名表] [FOR條件] [WHILE條件]
命令中的“列表”是指由“,”分隔的項目。例如,“字段名列表”就是用逗號分隔每個字段名。
壹些英文單詞的含義:數據庫名稱數據名稱表名稱數據表名稱文件名視圖名稱視圖名稱數組名稱數組名稱
提示:帶下劃線的命令是本課程所必需的。
第壹,數據庫的建立、打開、關閉和刪除
建立數據庫:
創建數據庫[databasename|?]
要從磁盤中刪除數據庫,請執行以下操作:
刪除數據庫databasename|?
打開數據庫:
打開數據庫[獨占|共享][無更新]
打開數據庫設計器(允許用戶交互編輯當前數據庫):
修改數據庫[databasename|?]
指定的databasename是當前數據庫。
指定當前數據庫:
將數據庫設置為[數據庫名]
Databasename必須是壹個打開的數據庫。如果省略databasename databasename,則不指定當前數據庫(沒有當前數據庫)。
關閉數據庫:
關閉數據庫[全部]
關閉當前數據庫,如果有ALL子句,則關閉所有打開的數據庫。
第二,數據表和視圖的建立、打開、關閉和刪除
創建數據表(SQL命令):
創建表| DBF表名(Col _ name 1 type 1[NOT NULL/NULL]
[{,Col_name2 Type2 [NOT NULL/NULL]}...])
Table_name是創建的數據表的名稱。
列名1,列名2,...是表中列的名稱。
類型1,類型2...對應列的數據類型(VFP的數據類型見表3-9)。
如果description不為null,則不允許在列中賦值null值(在這種情況下,列不能包含null值,如果插入NULL值,將返回錯誤消息)。
向當前打開的數據庫添加數據表:
添加表格tablename|?
從當前打開的數據庫中刪除數據表:
移除表格tablename|?[刪除]
如果包含DELETE子句,則表文件將從磁盤中刪除,否則,僅從數據庫中刪除,但文件仍將保存在磁盤中。
在當前打開的數據庫中創建視圖:
將SQL視圖視圖名創建為SELECT ……
選擇哪裏...是壹個select語句。
執行該語句時,如果沒有打開的數據庫,則建立壹個獨立的視圖,這樣的視圖無法存儲。
要從當前打開的數據庫中刪除視圖:
刪除視圖視圖名
打開表格:
使用tablename|?[在工作區域代碼中]
將當前數據表與另壹個數據表連接後創建新表:
使用工作區代碼|表別名連接到條件[字段字段名表]的表名
三。編輯和修改數據表和表結構
打開瀏覽窗口(您可以在其中編輯數據表):
BROWSW(具體格式見p . 114 ~ 116)。
打開和修改數據表中的字段:
(1)更改[字段字段名稱列表]
(2)編輯[字段字段名稱列表]
這兩個命令的功能差不多,可選條款也很多(詳見手冊)。
重命名數據表:
將表tablename1重命名為tablename2
數據表tablename1必須存在並且不能打開。
視圖重命名:
將視圖viewname1重命名為視圖名2
數據表tablename1必須存在並且不能打開。
修改數據表結構(SQL命令):
更改表tablename
添加字段名類型[NULL | NOT NULL]
[,字段名類型[NULL | NOT NULL];
[ALTER COLUMN field name Type { NULL | NOT NULL }];
[{,字段名類型NULL | NOT NULL}...];
[刪除字段名[,字段名[,...]]
將當前表格與另壹個表格相關聯:
將關系設置為[表達式1到工作區代碼1 |表別名1];
[,表達式2轉換為工作區代碼2 |表別名2] [,...]
關聯的兩個表必須已經預先通過關聯表達式進行了索引和排序。
在當前表和另壹個表之間建立壹對多關聯:
將SKIP設置為表別名1[,表別名2]
刪除當前表和另壹個表之間的關聯:
將關系設為工作區代碼|表別名
四、數據表中的數據操作(查詢、插入、刪除和修改等。)
數據查詢SELECT語句(SQL命令)
格式見教材相關章節。這是本課程的重點內容,必須掌握好。
更改數據表中的記錄:
將字段1替換為表達式1[加法];
[,& lt[,& lt字段2 & gt用& lt表達式2 & gt【加法】,…];
[對於條件1][而條件2]
ADDITIVE子句適用於remarks字段,這意味著將表達式的值添加到字段的末尾。
用存儲器陣列的值更新數據表中的記錄:
替換自數組數組名[字段字段名列表][公共子句]
用新值更新表中的記錄(SQL命令):
更新[數據庫名!]tablename;
SET Column _ 1 = expression 1[{ Column _ 2 = expression 2 }...] ;
[WHERE條件]
使用表中的數據更新指定工作空間中當前打開的表:
從文件名更新字段名;
用expr1替換字段名1
[,帶有表達式2的字段名2 [,...]]
將記錄標記為刪除(SQL命令):
從[databasename!]tablename;
[WHERE條件]
將記錄標記為刪除:
刪除[範圍] [FOR條件] [WHILE條件];
[工作區代碼|表別名]
永久刪除標記為刪除的記錄:
包裝
永久刪除打開的數據庫中標記為刪除的記錄:
包裝數據庫
刪除刪除標記(簡歷)
召回[共同條款]
刪除表格中的所有記錄(保持表格的結構):
ZAP[在表名|別名中]
為數據表文件追加記錄:
追加[空白][在工作區代碼|別名中]
從另壹個文件中提取數據,並將其添加到當前數據表的末尾:
從文件名中追加|?[字段字段名列表][用於條件]
由filename指定的文件可以是數據表、EXCEL電子表格、文本文件等。如果不是數據表,還需要其他條款來指定格式(詳見手冊)。
將內存數組的值添加到當前數據表的末尾:
從數組arrayname [FOR條件][字段字段名列表]追加
數據中的壹行對應壹條新記錄,壹列對應壹個字段。
從文件中輸入壹個OLE對象,並將其放入常規字段:
附加通用字段名[來自文件名]
如果filename中的子句被省略,則指定的字段將被清除。
將文本文件的內容復制到備註字段:
Appendememo備註字段名[來自文件名][覆蓋]
如果filename中的子句被省略,則指定的字段將被清除。
插入新記錄(在當前記錄之前或之後):
插入[空白][之前]
如果未省略BLANK,將插入壹條空白記錄,並且不會顯示輸入窗口。
在表中插入新記錄並賦值(SQL命令):
插入到tablename [(字段1 [,字段2,...])]值(eexpression 1 [,eexpression 2,...])
或者
從數組ArrayName |從MEMVAR插入到tablename
如果有FROM MEMVAR子句,則該字段被賦予壹個同名的內存變量。
清除當前記錄中字段的數據:
空白[共同條款]
移動記錄指針:
跳過[n][工作區代碼|表別名]
動詞 (verb的縮寫)文件管理(復制、創建和刪除文件和文件夾)
從當前表格中復制表格或其他類型的文件(必須打開表格)
復制到文件名[字段列表字段名稱][通用條款][其他條款]
如果未指定類型,則復制與當前表相同的數據表。
復制表格的結構
將結構復制到文件名[字段字段名列表]
復制任何文件:
將文件源文件復制到目標文件
如果使用此命令復制表格,則必須關閉表格。
從磁盤中刪除任何文件:
(1)擦除文件名|?
(2)刪除文件[文件名|?]
任何文件被重命名(或移動到另壹個文件夾):
將文件名1重命名為文件名2
其中,文件名1和文件名2都可以包含路徑。如果它們不在同壹個文件夾中,則將filename1移動到filename2所在的文件夾中。
顯示文件夾中的文件信息:
目錄|目錄[在驅動器上]
從磁盤中刪除文件夾:
RD | REDIR文件夾名稱
在磁盤上創建文件夾:
MD | MKDIR文件夾名稱
六、數據復制和傳輸
單個記錄和數組之間的數據傳輸
當前記錄→數組或內存變量:
將[字段字段名稱列表][備註]分散到數組名稱[BLANK] | MEMVAR [BLANK]
其中[BLANK]表示創建空元素的數組。如果使用了MEMVAR子句,這意味著將每個字段的值復制到壹個具有相同名稱和類型的內存變量中。
如果包含memo子句,則MEMO字段會被壹起復制。
數組或內存變量→當前記錄
從數組名| MEMVAR[字段名稱列表][備忘錄]中收集
用同名的內存變量或數組中的第壹行替換當前記錄。如果數組是多行二維數組,則只使用第壹行。
批處理記錄和數組之間的數據傳輸
表格→數組:
復制到數組arrayname [common子句]
數組→表格:
(1)追加自數組數組名[用於條件][字段字段名列表]
將內存數組的值添加到數據表的末尾,其中壹行對應壹條新記錄,壹列對應壹個字段。
(2)替換FROM數組數組名[公共子句]
用存儲器陣列的值更新數據表中的合格記錄。
查詢結果→數組:
SELECT …… INTO ARRAY arrayname
將SQL SELECT語句的查詢結果傳遞給數組arrayname。在這裏“選擇…”可以是各種形式的select查詢語句。
給內存變量賦值:
將表達式存儲到變量名
或者
變量名=表達式
七、排序和索引
對當前表格排序後創建新的數據表:
按字段名1 [/A | /D]排序到文件名;
[/C][字段名稱2 [/A | /D] [/C]...];
[升序|降序][常用子句];
創建單個索引文件:
表達式上的索引到單個索引文件名;
[FOR & lt;條件>][唯壹][緊湊];
[升序][降序][加法]
創建復合索引文件:
表達式上的索引標記索引名稱[復合索引文件名];
[FOR條件][唯壹|候選人];
[升序][降序][加法]
使用索引文件:
打開表時打開索引文件,USE命令有壹個INDEX子句:
使用tablename|?[內工作區代碼][索引索引文件名列表|?]
為當前表打開壹個或多個索引文件:
將索引設置為[索引文件名列表|?〕;
[順序索引文件名序號|索引文件名|[標簽]索引名[復合索引文件名];
[升序][降序]
指定排序或索引時字符字段的排序規則系列:
將分頁設置為裝訂系列
對於漢字字符串,“校對系列”可以是“機”、“拼音”、“筆畫”中的壹種(必須加引號),即分別按機器碼、拼音、筆畫排序。
在當前表格中指定控制索引文件或標記:
將訂單設置為;
[索引文件名序列號|索引文件名|[標簽]索引名[復合索引文件名];
[工作區代碼|表別名];
[升序][降序]
刪除索引
刪除[復合索引文件名的]全部標簽
刪除標簽索引ID 1[復合索引文件名1];
[,索引ID 2[復合索引文件名2]]…
八、尋找和定位
按順序查找當前表中滿足條件的第壹條記錄:
定位條件下的[範圍][WHILE條件]
找到後,將記錄指針定位在第壹條滿足條件的記錄上,函數FOUND()的返回值為true。
在索引表中查找:
查找cExpr
其中cExpr是字符串表達式。如果找到,記錄指針定位在第壹條滿足條件的記錄,函數FOUND()返回值為真;當搜索失敗時,FOUND()的返回值為false,記錄指針位於文件的末尾。
在索引表中查找:
求eExpr
[順序索引文件名序號|索引文件名|[標簽]索引名[復合索引文件名];
【升序】【降序】?;
[工作區代碼|表別名]
如果找到,記錄指針位於第壹條滿足條件且為真的記錄處;當搜索失敗時,FOUND()的返回值為false,記錄指針位於文件的末尾。
繼續搜索:
繼續
用LOCATE、find或SEEK找到壹條記錄後,繼續查找下壹條記錄。
使用上述搜索命令LOCATE、FIND、SEEK和CONTINUE的搜索結果都可以通過函數FOUND()的返回值來反映。
九、統計計算
統計表中的記錄數:
計數[範圍] [FOR條件] [WHILE條件][到內存變量名]
計算符合條件的記錄數,顯示記錄數或將結果賦給內存變量名。
總和:
SUM[表達式列表];
[範圍] [FOR條件] [WHILE條件][到內存變量名|到數組名]
平均值:
平均[表達式列表];
[範圍] [FOR條件] [WHILE條件][到內存變量名|到數組名]
對當前表格中的數值字段進行分組和求和:
字段名[common子句]的表名合計
其中,tablename是存儲結果的表的文件名,field name是確定sum分組的字段。
計算:
計算表達式列表;
[範圍] [FOR條件] [WHILE條件][到內存變量名|到數組名]
表達式列表可以是以下函數的任意組合:
AVG(nExpr),CNT(),MAX(eExpr),MIN(eExpr),NPV(nExpr1,nExpr2,…),
標準差(nExpr)、總和(nExpr)、風險值(nExpr)
其中,nExpr是數值表達式,eExpr是任意表達式。
X.程序控制
條件語句:
IF條件[THEN]
……
[其他]
[……]
ENDIF
多分支語句:
做案例
CASE邏輯表達式1
……
CASE邏輯表達式2
……
格邏輯表達式
……
[否則]
……
結束案例
DO循環:
DO WHILE條件
[循環]
……
[退出]
……
恩多
FOR循環
FOR循環變量=初始值到最終值步長步長步長
.....([循環]或[退出]可以插在中間)
ENDFOR |下壹個
掃描周期(循環表中滿足條件的記錄):
掃描[範圍][條件] [WHILE條件]
.....([循環]或[退出]可以插在中間)
結束掃描
設置掃描周期
對於組中的每個變量
命令
[退出]
[循環]
ENDFOR | NEXT [Var]
XI。其他人
定義數組:
DECLARE |維數組名(下標1,下標2,...)
定義過程:
過程名稱
參數表
……
返回[到主|到程序名]
定義功能:
函數函數名
參數表
……
返回表達式
調用子程序或過程。
DO子程序名|程序名[在程序文件名中][帶參數表]
定義公共變量:
公共變量名列表
PUBLIC [ARRAY]數組名1(行1,列1)[,數組名2(行2,列2) [,…]]
定義私有變量
私有變量名列表
私有ALL[LIKE | EXCEPT通配符]
定義局部變量
局部變量名稱列表
LOCAL [ARRAY]數組名1(行1,列1)[,數組名2(行2,列2) [,…]]
顯示各種信息:
列表…(格式見相關手冊)
顯示…(格式見相關手冊)
輸出提示信息:
等待[& lt;提示信息>][收件人& lt內存變量>;];
[WINDOW[AT[& lt;行>,& ltcolumn >][NOWAIT]];
[CLEAR | no CLEAR];
[超時& lt數值表達式>]
各種設置命令:
設置是否在日期中顯示世紀:
設置世紀開|關
設置顯示的小數位數:
將小數設置為小數位
設置是否處理標記為刪除的記錄:
設置刪除開|關
如果設置為ON,則不會處理標記為刪除的記錄。
設置是否顯示命令的結果:
設置通話開啟|關閉
設置文件的搜索路徑:
將路徑設置為路徑
設置傳遞給子程序或自定義函數的參數是按值傳遞還是按引用傳遞:
將UDFPARMS設置為值|引用
如果設置為VALUE,則表示按值傳遞。
執行外部命令或程序:
運行命令或程序
在指定位置顯示或打印:
@好吧,專欄說…
在指定位置顯示表達式的值,等待用戶輸入,並將輸入值賦給變量:
@ row,column SAY表達式獲取變量名[默認表達式]
閱讀
示例:
@2,2說“請輸入金額:”獲取nMoney默認50。
閱讀
在本例中,“請輸入金額:”顯示在第二行第二列,然後用戶輸入壹個數值,並將用戶輸入值賦給變量nMoney。如果用戶不輸入數值(直接回車),50賦給nMoney。請註意,下壹行不能省略“Read”。