版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
二級VisualFoxpro教案(教學(xué)使用)
二級VF教案1.
面向?qū)ο螅簩⑿≌f拍成電視、畫面是一種能看得見的真實效果。2.
面向過程:就是小說的文字,如人物的描述字符,是虛擬的。所以VF所學(xué)內(nèi)容中:程序設(shè)計就是一個面向過程的內(nèi)容。而表單就是面向?qū)ο蟮膬?nèi)容。可以說VF是針對數(shù)據(jù)庫操作的。如:辦公自動化中的Excel是最基本的數(shù)據(jù)庫管理。因此VF就是一個可以在計算機和服務(wù)器上運行的其中一種數(shù)據(jù)庫管理系統(tǒng)。而數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,是處理數(shù)據(jù)的有效工具。一、什么叫數(shù)據(jù):是指存儲在某種媒體上的能夠識別的物理符號如:數(shù)字、字母、文字、特殊字符組成的文本形式數(shù)據(jù),還有圖形、動畫、影像、聲音等多媒體數(shù)據(jù),而最多、最常用的是文字?jǐn)?shù)據(jù)。注:數(shù)據(jù)包括:描述事物特性的內(nèi)容和存儲在媒體上的數(shù)據(jù)形式。二、什么叫數(shù)據(jù)處理?是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。三、數(shù)據(jù)處理的目的(其中核心問題是數(shù)據(jù)管理)計算機對數(shù)據(jù)的管理發(fā)展階段及特點:經(jīng)歷了五個階段:1、人工管理階段:20世紀(jì)50年代;數(shù)據(jù)和程序不具有獨立性,無法進(jìn)行長期保存,數(shù)據(jù)不能共享,數(shù)據(jù)冗余大。2、文件管理階段:20世紀(jì)50年代后期至60年代中后期,程序和數(shù)據(jù)有一定的獨立性,程序和數(shù)據(jù)分開存儲。3、數(shù)據(jù)庫系統(tǒng)管理;從20世紀(jì)60年代后期開始:特點:數(shù)據(jù)和程序具有較高的獨立性,實現(xiàn)了數(shù)據(jù)共享,減少數(shù)據(jù)冗余(注:但并不是完全避免數(shù)據(jù)冗余)4、分布式數(shù)據(jù)庫系統(tǒng):20世紀(jì)70年代后期,是數(shù)據(jù)庫技術(shù)和計算機網(wǎng)絡(luò)技術(shù)緊密結(jié)合的產(chǎn)物。5、面向?qū)ο髷?shù)據(jù)庫系統(tǒng):20世紀(jì)80年代引入計算機科學(xué)領(lǐng)域的一種新的程序設(shè)計技術(shù)模型特點:就是按照人們認(rèn)識世界和改造世界的習(xí)慣方法對現(xiàn)實世界的客觀事物對象進(jìn)行最自然的最有效的抽象和表達(dá),同時又以各種嚴(yán)格高效的行為規(guī)范和機制實施客觀事物的有效模擬和處理。注:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中:數(shù)據(jù)庫系統(tǒng)可以實現(xiàn)數(shù)據(jù)共享。一、數(shù)據(jù)庫系統(tǒng):1、數(shù)據(jù)庫(DB):是存儲在計算機設(shè)備上結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合,它不僅包括描述事物數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系??梢员欢鄠€和戶、多個應(yīng)用程序共享2、數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS):是指系統(tǒng)開發(fā)人員利數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的。就是在用中調(diào)用3、數(shù)據(jù)庫管理系統(tǒng)(DBMS):是對數(shù)據(jù)庫的建立,使用和維護(hù)進(jìn)行管理。4、數(shù)據(jù)庫系統(tǒng)(DBS):是指引進(jìn)數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng),實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù)提供數(shù)據(jù)處理和信息資源共享的便利條件。注:visualFoxpro中的數(shù)據(jù)庫管理系統(tǒng)(DBMS)是操作系統(tǒng)支持下的系統(tǒng)軟件;數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS三者之間的關(guān)系是:DBS包括DB和DBMS。二、數(shù)據(jù)庫系統(tǒng)的組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫管理員和用戶。注:數(shù)據(jù)庫系統(tǒng)的特點:1、實現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余2、采用特定的數(shù)據(jù)模型(即稱為關(guān)系數(shù)據(jù)模型)3、具有較高的數(shù)據(jù)獨立性4、有統(tǒng)一的數(shù)據(jù)控制功能。一、數(shù)據(jù)模型:1、實體:客觀存在并且可以互相區(qū)別的事物稱為實體,實體可以是實際的事物,也可能是抽象的事件如:學(xué)生、課本屬于實際事物;訂貨、比賽是比較抽象的;2、實體的屬性:描述實體的特性稱為屬性;如學(xué)生實體用(學(xué)號、姓名、性別、出生日期)等若干屬性的描述。3、實體集和實體型:屬性值的集合表示一個實體,而屬性的集合表示一種實體的類型稱為實體型,同類的實體的結(jié)合稱為實體集。所以在VF中“表”用來存放同一類實體,即實體集。注:表中包括若干字段,字段就是實體的屬性。字段值的集合組成表中的一條記錄,代表一個具體的實體,即每個紀(jì)錄表示一個實體。一、實體間聯(lián)系及聯(lián)系的種類:1、一對一:指主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。2、一對多:指主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。3、多對多:表現(xiàn)為一個表中的多個記錄在相關(guān)表中同樣有多個記錄與其匹配二、數(shù)據(jù)模型:1、層次數(shù)據(jù):用樹型結(jié)構(gòu)表示實體及其實體間聯(lián)系的模型稱為層次模型;像倒掛的樹,用樹型結(jié)構(gòu)表示;2、網(wǎng)狀模型:用網(wǎng)狀結(jié)構(gòu)表示;3、關(guān)系模型:(非格式模型)用二維表表示)三、關(guān)系數(shù)據(jù)庫:一個關(guān)系是由一個二維表來定義的,一個表就是一個關(guān)系;也就是說關(guān)系數(shù)據(jù)庫是由若干表格組成的,在表格中:每行代表著每個記錄,而每列則代表著該表存在的不同屬性。1、關(guān)系:一個關(guān)系就是一張二維表,通常將一個沒有重復(fù)行、重復(fù)列的二維表看成一個關(guān)系,每個關(guān)系都有一個關(guān)系名。關(guān)系文件擴展名為.dbf,稱為“表”2、元組:水平方向的行稱為元組,每一行就是一個元組,元組對應(yīng)存儲文件中的一個具體記錄,一個元組對應(yīng)表中的一個記錄。3、屬性:二維表中垂直方向的列稱為屬性,每一列都有一個屬性名,在VF中屬性表示為字段名,每個字段的數(shù)據(jù)類型、寬度等在創(chuàng)建表的結(jié)構(gòu)時就規(guī)定了。在VF中一個屬性對表中的一個字段,屬性名對應(yīng)字段名,屬性值對應(yīng)于各條記錄的字段值。4、域名:字段的取值范圍:指不同元組對同一個屬性的取值所限定的范圍。5、關(guān)鍵字:屬性或?qū)傩缘慕M合能惟一標(biāo)識各個元組(實體)6、外部關(guān)鍵字:在本表中不是的關(guān)鍵字,而在另外一個表中是關(guān)鍵字,本表的這個字段(屬性)稱為外部關(guān)鍵字。四、關(guān)系的特點:1、關(guān)系必須規(guī)范,表中不能在含表;2、關(guān)系中不允許有完全相同的元組(記錄)存在;3、關(guān)系中不允許有相同的屬性名(字段名)存在;4、關(guān)系中元組的次序無關(guān)緊要;5、關(guān)系中屬性的次序元關(guān)緊要;注:實際關(guān)系模型:一個具體的關(guān)系模型由若干個關(guān)系模式組成。一、關(guān)系運算:1
傳統(tǒng)的關(guān)系運算:并、差、交;1、并:兩個相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個關(guān)系的元組組成的集合。如:有兩個結(jié)構(gòu)相同的學(xué)生關(guān)系R1、R2,分別存放兩個班的學(xué)生,把第二個班的學(xué)生記錄追加到第一個班的學(xué)生記錄后面就是這兩個關(guān)系的并集。2、差:設(shè)有兩個相同結(jié)構(gòu)的關(guān)系R和S,R差S是結(jié)果是由屬于R但不屬于S的元組組成的集合,即差運算的結(jié)果是從R中去掉S中也有的元組。3、交:兩個具有相同結(jié)構(gòu)的關(guān)系R和S,是由既屬于R又屬于S的元組組成的集合。既運算的結(jié)果是R和S的共同元組。1
專門的關(guān)系運算:選擇、投影、聯(lián)接;1、選擇:從關(guān)系中找出滿足條件元組的操作,是針對行的運算。如;for\where\while等是選擇運算。選擇條件以邏輯表達(dá)式給出,使得邏輯表達(dá)式的值為真的元組被選取,即從水平方向抽取記錄形成新的關(guān)系,其關(guān)系模式不變?nèi)纾簭膶W(xué)生表中找出某同學(xué)的的考試成績;2、投影:從關(guān)系中指定若干個屬性組成新的關(guān)系,是針對列的運算,如:fields\select等是連接運算。是從列的角度進(jìn)行的運算,相當(dāng)于對列進(jìn)行垂直分解。如:從學(xué)生表中查詢學(xué)員的所有姓名、性別、出生日期的操作。3、連接:將兩個關(guān)系拼接成一個更寬的關(guān)系,是針對橫向運算,生成的關(guān)系中包含滿足聯(lián)接條件的元組,其聯(lián)接過程是通過聯(lián)接條件來控制的,聯(lián)接條件中將出現(xiàn)兩個表中的公共屬性名,或得具有相同語義、可比的屬性,聯(lián)接是滿足條件的所有記錄。如:join\on等是連接運算。如:設(shè)有職工和工資兩個表,要查詢基本工資高于800元的職工姓名,性別,職稱、基本工資、實發(fā)工資、獎金。注:選擇、投影運算對象是一個關(guān)系,而連接運算對象是多個關(guān)系。這三種關(guān)系運算的最終結(jié)果是關(guān)系(二維表)自然連接:是指去掉重復(fù)屬一的等值連接。其義意為:在聯(lián)接運算中,按照字段值對應(yīng)相等為條件進(jìn)行的聯(lián)接操作稱為等值聯(lián)接,自然聯(lián)接是去掉重復(fù)屬性的等值聯(lián)接,自然聯(lián)接是最常用的聯(lián)接運算。1
程序設(shè)計的步驟:設(shè)計原則:1、關(guān)系數(shù)據(jù)的設(shè)計應(yīng)遵從概念單一化“一事一地”原則。2、避免在表之間出現(xiàn)重復(fù)字段。3、表中的字段必須是原始數(shù)據(jù)或基本數(shù)據(jù)元素。4、用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間聯(lián)系。二、設(shè)計步驟:1、需求分析、2、確定需要的表;3、確定所需字段;4、確定關(guān)系;5、設(shè)計求精一、安裝VisualFoxPro的要求:注:VisualFoxPro6.0是一個32位數(shù)據(jù)庫開發(fā)系統(tǒng);1、CPU:帶有486DX/66MHZ處理器,最好使用Pentium以上的處理器。2、內(nèi)存儲器:16MB以上的內(nèi)存,最好使用24MB的內(nèi)存;3、硬盤空間:最小(典型)安裝需要85MB,最大安裝需要90MB。4、顯示器:最好使用VGA或更高分辨率的監(jiān)視器。5、操作系統(tǒng):需要在Windows95/98(中文版)、WindowsNT4.0(中文版)或者更高版本的操作系統(tǒng)運行;二、啟動VF的方法:三、窗口的組成:標(biāo)題欄、菜單欄、工具欄、命令窗口、狀態(tài)欄四、VF工具欄的設(shè)置:分為系統(tǒng)工具欄和用戶自定義工具欄兩種;兩種工具欄的區(qū)別:3
用戶自定義工具欄即可以修改,也可以刪除;4
系統(tǒng)工具欄只能修改但不能刪除;5
工具欄的設(shè)置:單擊“顯示”菜單——工具欄進(jìn)行設(shè)置;五、VF命令窗口的顯示與隱藏:1、單擊命令窗口右上角關(guān)閉按鈕可以關(guān)閉它,通過“窗口”菜單下的“命令窗口”選項可以重新打開它;2、單擊常用工具欄上的“命令窗口”按鈕進(jìn)行切換;3、按Ctrl+F4組合鍵隱藏命令窗口,按Ctrl+F2組合鍵顯示命令窗口。六、退出VF的方法:1、用鼠標(biāo)單擊VF標(biāo)題欄最右面的關(guān)閉窗口按鈕。2、從“文件”下拉菜單中選擇“退出”選項(并不是關(guān)閉)。3、單擊主窗口左上角的狐貍圖標(biāo),從窗口下拉菜單中選擇“關(guān)閉”或者按Alt+F4鍵;4、在命令窗口中輸入Quit命令——回車即可。一、項目管理器:1、什么叫項目管理器?是指文件、數(shù)據(jù)、文檔和VF對象的集合,是處理數(shù)據(jù)和對象的主要組織工具;所以在VF中可以創(chuàng)建一個項目文件來集中管理數(shù)據(jù)和程序。二、創(chuàng)建項目的方法:1、文件——新建——項目——新建文件2、單擊“工具欄”上的“新建按鈕”——項目——新建文件3、在命令窗口中輸入“createproject”回車項目管理器的擴展名為:.pjx三、項目管理器中各選項卡及包含的內(nèi)容:1
數(shù)據(jù)選項:包括數(shù)據(jù)庫、查詢、視圖和自由表;2
文檔選項卡:包含表單、報表和標(biāo)簽;3
類選項卡:用于創(chuàng)建VF的面向?qū)ο蟮氖录?qū)動程序(子類)4
代碼選項卡:包括擴展名為prg的程序文件,函數(shù)庫和應(yīng)用程序.APP文件。5
其他選項卡:包含文本文件、菜單文件和其他文件(如:.bmp,.ico文件等)6
全部選項卡:包含以上5個選項卡中的所有內(nèi)容。四、項目管理器中各按鈕的功能:有:新建、添加、移去、刪除、修改等;數(shù)據(jù)庫:主要用于管理添加到數(shù)據(jù)庫中的表:是結(jié)構(gòu)化相關(guān)文檔和數(shù)據(jù)的集合,一個數(shù)據(jù)庫可以包含一個或多個表或相關(guān)視圖的容器。其擴展名為:.dbc。一、數(shù)據(jù)庫的創(chuàng)建方法:1
在項目管理器中創(chuàng)建;2
通過新建對框;3
使用命令創(chuàng)建:createdatabase[<文件名>]二、打開數(shù)據(jù)庫的方法:1、使用項目管理器打開;2、通過新建對話框打開;3、使用命令打開:opendatabase[<文件名>]三、修改數(shù)據(jù)庫(打開數(shù)據(jù)庫設(shè)計器的方法)1
使用項目打開;2
使用命令打開:modifydatabase[<文件名>]四、關(guān)閉數(shù)據(jù)庫的方法:1
直接關(guān)閉;2
在命令行輸入closedatabase(all)回車;其中all用于關(guān)閉所有打開的數(shù)據(jù)庫及數(shù)據(jù)庫中的表、自由表、索引等。一、創(chuàng)建數(shù)據(jù)庫表:注:表分?jǐn)?shù)據(jù)庫表和自由表,其文件擴展名都為:.dbf。數(shù)據(jù)庫表是指屬于某個數(shù)據(jù)庫的表,自由表是指不屬于任何數(shù)據(jù)庫的表。 打開項目管理器——數(shù)據(jù)庫——表——新建; 使用新建命令或者使用Create命令建立數(shù)據(jù)庫;1
方法:opendatabase打開數(shù)據(jù)庫——create建立表。注:如果沒有先用opendatabase打開數(shù)據(jù)庫,而是直接用create命令建立表也可以,因為它不包含有些在數(shù)據(jù)庫中才能實現(xiàn)的功能,這時建立的表不是數(shù)據(jù)庫中的表,而是自由表;新建的表處于打開處狀態(tài)可以直接進(jìn)行錄入及修改表結(jié)構(gòu)操作,如果以后進(jìn)行操作:1
可以直接在盤符中找到打開;2
在命令窗口中輸入USETableName(表名)——單擊“顯示——瀏覽”或者在命令行輸入BROWSELASE回車即可。二、數(shù)據(jù)庫表的字段屬性:1、字段顯示屬性: 字段名 是字段的唯一標(biāo) 志, 由1—128個非空字符組成; 字段名 即關(guān)系的屬性名 或表的列名 。一個表由若干列(字段)構(gòu)成, 每個列都必須有一個惟一的名 字——即字段名 字段名 可以是漢字或合法的西文標(biāo) 識符;注:自由表:2
自由表字段名最長為10個字符。3
數(shù)據(jù)庫表的字段名最長為128個字符。4
字段名必須以字母或漢字開頭。5
字段名可以由字母、漢字、數(shù)字和下劃線組成。6
字段名中不能包含空格。注:字段類型決定了存儲的數(shù)據(jù)類型,字段寬度決定了存儲數(shù)據(jù)的寬度和取值范圍。字段的類型(字段變量)字段類型寬度實際定義寬度字段類型寬度實際定義寬度字符型C≤254自定義雙精度(B)≤20位8數(shù)值型(N)≤20位8整型(I)≤10位4浮動型(F)≤20位8邏輯型(L)11日期型(D)88備注型(M)4不受限制日期時間型(D)1414通用型(G)4不受限制貨幣型(Y)≤20位(bit)8注: 備 注型和通用型內(nèi)容存放在擴展名 為:.fpt文件中。 通用型可以存放圖片等多媒體內(nèi)容,而 備 注型不 能存放圖片等。 記住各字段類型及字母表示、寬度。注:NULL:空值表示字段或變量還沒有確定值。三、設(shè)置字段的顯示格式:格式確定了一個字段在數(shù)據(jù)瀏覽窗口、表單或報表中的顯示方式??梢栽诟袷轿谋究蛑休斎胨枰母袷酱a,常用的格式用。在當(dāng)前的“工具”——選項下進(jìn)行設(shè)置;四、設(shè)置字段的有效性:規(guī)則:即字段有效性規(guī)則,用來指定該字段的值必須滿足的條件,為邏輯表達(dá)式;信息:即違背字段有效性規(guī)則時的提示信息,為字符串表達(dá)式;默認(rèn)值:即字段的默認(rèn)值,可以減少數(shù)據(jù)輸入的工作量,類型以字段的類型來確定。一、對數(shù)據(jù)庫表的操作: 添加數(shù)據(jù)庫表:一個數(shù)據(jù)庫中可以包括一個或多個相關(guān)聯(lián)的數(shù)據(jù)表, 可以向數(shù)據(jù)庫中加入任何已經(jīng)建立的表, 但這個表不 能屬于其他的數(shù)據(jù)庫, 因為同 一個表在同 一時間只能屬于一個數(shù)據(jù)庫。如果要把其他數(shù)據(jù)庫中的表加入到一個新的數(shù)據(jù)庫中, 可以先把要加入的表從原來的數(shù)據(jù)庫中移出。1
注:添加數(shù)據(jù)庫表的方法——先打開數(shù)據(jù)庫——右擊——添加表——選中要添加的表——確定即可。2
刪除數(shù)據(jù)表:在要刪除的數(shù)據(jù)表上右擊——移去即可。如果單擊刪除,該表將從磁盤上刪除。二、修改表結(jié)構(gòu):1、在項目管理器中進(jìn)行修改;2、在數(shù)據(jù)庫設(shè)計器中進(jìn)行修改;3、使用命令進(jìn)行修改:如果當(dāng)前表不在數(shù)據(jù)庫設(shè)計器中,則首先用USE命令打開要修改的表——然后輸入modifysetructure(此命令后不能有任何參數(shù),其功能是修改當(dāng)前表的結(jié)構(gòu))打開表設(shè)計器進(jìn)行修改操作即可。2
修改已有的字段:用戶可以直接修改字段的名稱、類型和寬度。3
增加新字段:要在原來的字段后增加新的字段,可以直接將光標(biāo)移動到增加新字段,然后輸入新的字段名、字義類型和寬度;如果要在原來的字段中間插入新的字段,則首先將光標(biāo)定位在要插入新字段的位置,然后單擊“插入”按鈕,這時會插入一個新的字段,輸入新的字段名、定義類型和寬度。4
刪除不用的字段:若要刪除某個字段,首先將光標(biāo)定位在要刪除的字段上,然后單擊“刪除”按鈕即可。三、對表的基本操作:1、打開并游覽表有多種方式: 在項目管理器中將數(shù)據(jù)庫展開至表——并選中要瀏覽的表——單擊“瀏覽”即可。 在數(shù)據(jù)庫設(shè)計器中選擇要操作的表——從數(shù)據(jù)庫中選擇“瀏覽” 在命令窗口中, 首先用USE打開要操作的表——輸入BROWSE命令來瀏覽表;即可對表進(jìn)行瀏覽、添加、刪除和修改操作。2、瀏覽表的操作:A:下一記錄:下箭頭鍵;B:上一記錄:上箭頭鍵;C:下一頁:BageDown鍵;D:前一頁:PageUP鍵;E:下一字段:Tab鍵;F:前一字段:Shift+Tab鍵;還可以使用四個方向鍵;3、用命令對表進(jìn)行操作:修改表中的數(shù)據(jù):A:追加記錄命令格式:APPEND[BLANK]APPEND:在表文件的尾部追加任意多少記錄,并且進(jìn)入交互式狀態(tài),等待用戶輸入數(shù)據(jù).APPENDBLANK:在表文件尾部追加一條空白記錄。B:插入記錄的命令格式:INSERT[BEFOE][BLANK]INSERT:在當(dāng)前記錄的后面插入任意多少記錄,并且進(jìn)入交互式狀態(tài)等待用戶輸入數(shù)據(jù)。INSERTBEFOR:在當(dāng)前記錄的后面插入任意多少記錄,并且進(jìn)入交互式狀態(tài)等待用戶輸入數(shù)據(jù)。INSERTBLANK:在當(dāng)前記錄的后面插入一條空白記錄。INSERTBEFOREBLANK:在當(dāng)前記錄的前面插入一條空白記錄。C:刪除記錄:在VF中刪除記錄分為邏輯刪除和物理刪除兩個步驟。邏輯刪除是指給表文件中的記錄打上一個刪除標(biāo)記(可以恢復(fù)),但表中記錄仍然存在,物理刪除是指將表文件中的數(shù)據(jù)徹底刪除(不能恢復(fù))。1
邏輯刪除記錄命令格式:DELETE[范圍]|[FOR<條件>][范圍][ALL|NEXTN|REST|RECORDN]ALL:表示所有。N:指文件中的記錄號,而不是表中的第幾行。NEXTN:下面多少條記錄。REST:從當(dāng)前記錄開始到最后一條記錄(剩下的)RECORDN:指定的記錄。DELETE:邏輯刪除當(dāng)前表中的當(dāng)前記錄一條。DELETEALL:邏輯刪除當(dāng)前表中所有記錄。DELETEFOR<條件>:邏輯刪除當(dāng)前表中滿足條件的記錄。例如:邏輯刪除當(dāng)前表中職工編號為003的員工:DELETEFOR職工編號=003物理刪除記錄命令:3
PACK:物理刪除當(dāng)前表中打上邏輯刪除標(biāo)記的所有記錄。4
ZAP:物理刪除當(dāng)前表中所有的記錄(不管是否打上邏輯刪除標(biāo)記,但表結(jié)構(gòu)并沒有刪除)注:DELETEALL和PACK兩個命令集合等價于ZAP功能D:恢復(fù)記錄的刪除:RECALL[FOR]+邏輯表達(dá)式:如:將當(dāng)前表中已經(jīng)刪除的女生記錄恢復(fù):RECALLFOR性別=”女”1
修改記錄命令格式:REPLACE<被修改的字段名>WITH<表達(dá)式>[FOR<條件>]注:沒有FOR<條件>和<范圍>默認(rèn)只替換當(dāng)前記錄一條。如果有FOR<條件>和<范圍>替換指定范圍當(dāng)中的滿足條件的記錄(有FOR<條件>沒有<范圍>時,默認(rèn)范圍是ALL)例:將當(dāng)前表中所有學(xué)生的年齡加2。REPLACEALL年齡WITH年齡+22
顯示記錄命令:LIST和DISPLAYLIST:的默認(rèn)范圍是所有記錄。當(dāng)SETDELETED為ON時,LIST不顯示帶刪除標(biāo)記的記錄。DISPLAY:默認(rèn)顯示當(dāng)前記錄。TOPRINTER,DISPLAY:是將結(jié)果定向輸出到打印機;PROMPT:可以調(diào)整打印機的設(shè)置;TOFILEFILENAME:是將結(jié)果定向輸出到指定的文件中。例:顯示XS表中的女生記錄;USEXS打開學(xué)生表LIST姓名,政治,數(shù)學(xué)FOR性別=”女”即可顯示女生的記錄。4
查詢定位(或者叫記錄指針定位)5
直接定位的命令:GOTON|TOP|BOTTOM說明:N指表文件中的記錄號,而不是表中的第幾行;TOP:表中的首記錄即第一行記錄,而不是起始標(biāo)識BOF。BOTTOM:表中的尾記錄即最后一條記錄,而不是結(jié)束標(biāo)識EOF;例:USEXS打開學(xué)生表GOTOP將記錄指針定位在表的第一個記錄上GOBOTTOM:將記錄指針定位在表的最后一個記錄上。相對定位命令格式:SKIPNN:表示相對當(dāng)前記錄移動N條記錄即N行,正數(shù)往下移負(fù)數(shù)往上移,但當(dāng)遇到起始標(biāo)識BOF或結(jié)束標(biāo)識EOF時,則停止移動;例:USEXS打開學(xué)生表;SKIP1?RECNO()顯示2查詢定位命令格式:LOCATEFOR<條件>將記錄指針定位到從上至下第一個滿足條件的記錄上。如果表中沒有滿足條件的記錄時,記錄指針則指到結(jié)束標(biāo)識EOF。如需繼續(xù)定位到下一個滿足條件的記錄上用CONTINUE繼續(xù)查找。注CONTINUE不能單獨使用,必須跟LOCATEFOR聯(lián)用。其格式為:LOCATEFOR查詢定位的表達(dá)式DOWHILEFOUND()//處理……CONTINUEENDDO注:當(dāng)用LOCATE命令發(fā)現(xiàn)一個滿足條件的記錄之后,可CONTINUE命令,從而在表的剩余部分尋找其他滿足條件的記錄,可重復(fù)的執(zhí)行CONTINUE命令,直到到達(dá)表尾。例:在下列示例中,搜索所有女生的記錄,然后顯示總數(shù)。USEXSSTORE0TOGNCOUNTLOCATEFOR性別=”女”DoWHILEFOUND()GNCOUNT=GNCOUNT+1?姓名CONTINUEENDDO?“女生總數(shù):”+LTRIM(STR(GNCOUNT))索引:是由記錄指針構(gòu)成的文件,當(dāng)在表文件中建立索引后表中記錄的物理順序(記錄號)不會發(fā)生改變,只是邏輯順序發(fā)生改變。也稱為邏輯排序。2
索引文件的擴展名為:.CDX注:索引文件具有如下特點:4
同一個索引文件中可以有多種排序方式,有多個索引關(guān)鍵字。5
在對表進(jìn)行添加、刪除、更改操作時,索引文件自動維護(hù)。種類要求特點主索引是關(guān)鍵字才能建立主索引只有數(shù)據(jù)庫表才能建立,并且只能建立一個主索引候選索引是關(guān)鍵字才能建立主索引一個表可以建立多個候選索引,并且數(shù)據(jù)庫表和自由表都能建立惟一索引無要求任何表任何字段都能建立,并且可以建立多個,建好后索引中的值是唯一的普通索引無要求任何表任何字段都能建立,并且可以建立多個所以在VFP中,索引可分為主索引、候選索引、唯一索引和普通索引4種。任何一種索引均可以設(shè)置升序和降序。二、創(chuàng)建索引:分單項索引和復(fù)合字段索引。單項索引:7
打開表設(shè)計器——在“字段”選項卡中選擇要建立索引的字段后,在對應(yīng)的索引的下拉列表框中選擇無、升序或降序,就產(chǎn)生了單項普通索引,索引名與字段名相同,索引表達(dá)式就是對應(yīng)的字段。8
如果要將索引定義為其他類型的索引,應(yīng)選擇表設(shè)計器中的“索引”選項卡,然后從“類型”下接列表框中選擇索引的類型,這時可以根據(jù)需要選擇要建的索引即可。復(fù)合索引:3
在多個字段上的索引稱做復(fù)合字段索引,其鍵立方法:4
在表設(shè)計器中的“索引”下——單擊“插入”在表達(dá)式下輸入所需要的索引名——確定——選擇類型——表達(dá)式默認(rèn)——確定即可。注:在一個表上可以建立多個普通索引,唯一索引和候選索引,但只能建立一個主索引。通常,主索引用于確定主關(guān)鍵字字段;候選索引用于不作為主關(guān)鍵字但字段值又必須唯一的字段;普通索引用于一般地提高查詢速度;唯一索引用于一些特殊的程序設(shè)計。注:用命令方式建立索引:其表達(dá)式為:INDEXON表達(dá)式TO<單索引文件名>|TAG<索引名>[OF<非結(jié)構(gòu)復(fù)合索引文件名>]說明:eExpression指定一個索引表達(dá)式,它可以是字段名,或包含字段名的表達(dá)式。TOIDXFileName:表示創(chuàng)建一個單獨的索引文件,其默認(rèn)擴展名為.idx。該項是為了與以前版本兼容,現(xiàn)在一般只是在建立一些臨時索引時才用。TAGTagName:表示創(chuàng)建一個復(fù)合索引文件,TagName為索引命名多個索引,可以創(chuàng)建在一個索引文件中,這種索引稱做結(jié)構(gòu)復(fù)合索引,其文件名與樣關(guān)的表同名,并且擴展名為.cdx。用OF短語,則可以用CDXFileName指定包含多個索引的復(fù)合索引文件名。FORIExpresssion:指定一個條件。COMPACT當(dāng)使用TOIDXFileName時表示建立一個壓縮的.idx文件。復(fù)合索引總是壓縮的。ASCENDING|DESCENDING表示建立升序或降序索引,默認(rèn)為升序。UNIQUE:表示建立唯一索引。CANDIDATE:表示建立候選索引。ADDITIVE:與建立索引本身無關(guān),表示在建立索引時是否關(guān)閉以前的索引,默認(rèn)是關(guān)閉已經(jīng)使用的索引,使新建立的索引成為當(dāng)前索引。例:打開學(xué)生表,并創(chuàng)建一個名為“排名”的索引文件,該索引文件以“政治”字段的分類顯示和處理記錄。USEXSINDEXON政治TO排名CLEARDISPLAY三、索引文件的種類:3
非結(jié)構(gòu)單索引文件中只包含一種索引,這種索引文件的擴展名為.idx。4
非結(jié)構(gòu)復(fù)合索引文件可以包含不同的索引標(biāo)識的多個索引,也可以為一個表建立多個非結(jié)構(gòu)復(fù)合索引文件,這種索引文件的擴展名為:.cdx5
結(jié)構(gòu)復(fù)合索引文件可以包含不同的索引標(biāo)識的多個索引,一個表只能建立一個結(jié)構(gòu)復(fù)合索引文件。這種索引文件夾擴展名為:.cdx。注:結(jié)構(gòu)復(fù)合索引文件具有隨表打開時自動打開,在同一索引文件中能包含多個索引項,在添加、更改或者刪除記錄時自動維護(hù)索引等特性。四、使用索引的方法:1、打開索引文件:注:與表名相同的結(jié)構(gòu)索引文件在打開表時都能夠自動打開,但是對于非結(jié)構(gòu)索引必須在使用之前打開索引文件,使用SETINDEXTO命令。命令格式為:SETINDEXTOIndexFileList例:USEXSSETINDEXTO排名ORDER政治2、設(shè)置當(dāng)前索引:命令格式為:SETORDERTO格式;例:USEXSSETORDERTO1例:將結(jié)構(gòu)索引文件中的“訂購單號”設(shè)置為當(dāng)前索引。SETORDERTOTAG訂購單號或者SETORDERTO訂購單號3、使用索引快速定位:命令格式為:SEEKeExpression[ORDERnlndexNumber|[TAG]TagName][ASCENDING|DESCENDING]5
SEEK命令只能在索引過的表中使用,并且只能搜索關(guān)鍵字,除非SETEXACT的設(shè)置為OFF,否則匹配指的是完全匹配。例:假設(shè)當(dāng)前正在使用學(xué)生表,將記錄指針定位在學(xué)號為7785的記錄上。SEEK‘7785’ORDER學(xué)號例:先打開學(xué)生表,并按“學(xué)號”字段建立索引。然后,用SEEK命令查找與內(nèi)容變量gxh的值相匹配的索引關(guān)鍵字表達(dá)式。USEXSORDER學(xué)號SETEXACTOFFSTORE“002”SEEKgxhORDER學(xué)號IFFOUND()DISPLAYFIELDS學(xué)號,姓名ENDIF4、刪除索引:在表設(shè)計器中刪除;使用命令:8
DELETETAGTagName1;TagName1指要刪除的索引名;9
DELETETAGALL指刪除全部索引。數(shù)據(jù)完整性:主要保證表中數(shù)據(jù)的正確性即三類:實體完整性、域完整性和參加完整性。一、實體完整性與主關(guān)鍵字:實體完整性是保證表記錄的惟一性,即在一個表中不允許有重復(fù)的記錄。在VF中是利用主索引或候選索引來實現(xiàn)。二、域完整性與約束規(guī)則:即設(shè)置字段值的取值范圍。約束規(guī)則又稱為字段有效性規(guī)則,包括三個方面: 規(guī)則:是設(shè)置字段值的取值范圍(邏輯表達(dá)式) 信息:是違背規(guī)則后的提示信息(字符表達(dá)式) 默認(rèn)值:是表示默認(rèn)的數(shù)據(jù)(與該字段值的數(shù)據(jù)類型保持一致)。三、參照完整性:跟表之間的聯(lián)系有關(guān),包含三個方面:更新、刪除和插入。設(shè)置參照完整性之間必須建立兩個表之間的永久聯(lián)系(物理聯(lián)系),父表建立主索引,子表建立普通索引。自由表:一、創(chuàng)建自由表的方法: 使用項目管理器: 使用菜單方式; 使用命令方法:格式為:CREATE[FileName|?]例:CREATEXS創(chuàng)建學(xué)生自由表;打開表的方法: 文件——打開: USE<文件名 >[ALIAS<別名 >][IN<工作區(qū)號/工作區(qū)別名 /表別名 >][AGAIN][Exclusive]/[NoupdateShared]命令的功能:在指定的工作區(qū)打開表文件。[IN<工作區(qū)號/工作區(qū)別名/表別名>]:指定要選擇的工作區(qū);[ALIAS<別名>]:為要打開的表指定一個別名;[AGAIN]:可以在某一工作區(qū)中打開其他要在工作區(qū)中打開的表;[Exclusive]:以獨占方式打開表;[NoupdateShared]:以只讀方式打開表;關(guān)閉表的方法:如果已打開一個表,當(dāng)打開別一個表文件時,系統(tǒng)將自動將先前打開的表關(guān)閉。使用不帶任何選項的USE命令,關(guān)閉當(dāng)前已打開的表。使用CloseAll命令:關(guān)閉所有類型的文件。使用CloseDatabase命令,關(guān)閉已打開的數(shù)據(jù)庫文件、表文件、索引文件等。使用CloseTable命令:關(guān)閉當(dāng)前打開的所有表,不改變當(dāng)前工作區(qū)。使用QUIT命令,退出VFP系統(tǒng),關(guān)閉所有打開的文件,返回操作系統(tǒng)。二、將自由表添加到數(shù)據(jù)庫中:1
使用項目管理器添加自由表;2
使用數(shù)據(jù)庫設(shè)計器添加自由表;3
使用窗口命令添加自由表;命令格式為:ADDTABLETableName|?[NAMELongTableName]命令說明:TableName指定添加到數(shù)據(jù)庫中的表的名稱:?顯示“打開對話框,從中可以選擇要打開的數(shù)據(jù)庫中的表;LongTableName:指定表的長名,長名可以包含128個字符,可用來取代所展名為.dbf的短文件名。例:OPENDATABASE“學(xué)生管理”EXCLUSIVE以獨占方式打開“學(xué)生管理”數(shù)據(jù)庫ADDTABLEXS添加“學(xué)生”自由表;例:將自由表TT添加到當(dāng)前數(shù)據(jù)庫,并給出具有說明意義的長表名;ADDTABLETTNAME2001級學(xué)生軍訓(xùn)表注:一個表只能屬于一個數(shù)據(jù)庫,當(dāng)一個自由表添加到某個數(shù)據(jù)庫后就不再是自由表了,所以不能把已經(jīng)屬于數(shù)據(jù)庫的表添加到當(dāng)前數(shù)據(jù)庫,否則會有出錯提示。從數(shù)據(jù)庫中移去表; 使用項目管理器; 使用數(shù)據(jù)庫設(shè)計器;注:以上兩種操作是從數(shù)據(jù)庫中移去表,使數(shù)據(jù)庫表成為自由表,所以應(yīng)該單擊“移去”按鈕,如果單擊“刪除”按鈕,則不僅從數(shù)據(jù)庫中移去表,并且還將該表文件從磁盤上刪除。從數(shù)據(jù)庫移出表后,與之聯(lián)系的所有主索引、默認(rèn)值及有關(guān)的規(guī)則都隨之消失。若移去的表在數(shù)據(jù)庫中使用了長表名,移出數(shù)據(jù)庫后長表名將不能再使用。利用命令窗口方式移去表;1
命令格式為:REMOVETABLETableName|?[DELETE][RECYCLE]命令說明:TableName:指定要從當(dāng)前數(shù)據(jù)庫中移去的表:?顯示“移去”對話框,從中可以選擇一個要從當(dāng)前數(shù)據(jù)庫中移去的表;DELETE:指定從數(shù)據(jù)庫中移去該表,并從磁盤上刪除;RECYCLE:表示把表放入回收站。例:OPENDATABASE學(xué)生管理EXCLUSIVE打開“學(xué)生管理”數(shù)據(jù)庫;REMOVETABLEXS移去學(xué)生表。三、更改表名:打開要更改的數(shù)據(jù)表所在的項目——右擊要更名的數(shù)據(jù)表——重命名——輸入新名稱——確定即可。四、多個表同時使用;1、工作區(qū)的使用:VF中共有32767個工作區(qū);工作區(qū)號:1-32767工作區(qū)別名:1-10別名為(A-J),11以后的別名是(W11-W32767)2、選擇當(dāng)前工作區(qū)的命令格式:SELECT<工作區(qū)號>|<工作區(qū)別名>|<表的別名>說明:A:當(dāng)執(zhí)行CLOSEALL關(guān)閉所有工作區(qū)的所有文件,并返回到第一個工作區(qū)。B:當(dāng)執(zhí)行SELECT0時表示選擇到空親(沒有表文件打開)最?。üぷ鲄^(qū)號)工作區(qū)作為當(dāng)前工作區(qū)。C:當(dāng)使用USE(文件名)IN(工作區(qū)號)這種格式時:表示在指定的工作區(qū)打開指定表文件,但當(dāng)前工作區(qū)并沒有改變。D:當(dāng)使用USE(文件名)IN0時表示在空閑最小工作區(qū)打開指定的表文件,但當(dāng)前工作區(qū)仍然沒有改變。五、表之間的聯(lián)系:6
關(guān)聯(lián)的特點是記錄指針帶動(當(dāng)父表的記錄指針移動時,子表中的記錄指針跟隨移動。7
關(guān)聯(lián)是一種臨時性聯(lián)系也稱為邏輯聯(lián)系。8
建立關(guān)聯(lián)時在只需對子表建立普通索引,而父表可以不用建立索引。9
建立關(guān)聯(lián)的命令格式:SETRELATIONTO<表達(dá)式>INTO<子表別名>|<子表工作區(qū)別名>注:當(dāng)臨時聯(lián)系不再需要時可以使用命令SETRELATIONTO取消當(dāng)前表到所有表的臨時聯(lián)系。取消關(guān)聯(lián)的命令:SETRELATIONTO如果只是取消某個具體的臨時聯(lián)系,應(yīng)該使用命令:SETRELATIONOFFINTOnworkAree/cTableAlias例:OPENDATABASE學(xué)生管理USEXSORDER學(xué)號USE排名ORDER學(xué)號SETRELATIONTO學(xué)號INTO排名通過學(xué)號索引建立兩個表之間的臨時關(guān)系。六、排序:是將記錄按需要的順序重新排列,產(chǎn)生一個新的數(shù)據(jù)庫文件。實現(xiàn)從物理上對數(shù)據(jù)庫的重新排列。索引可以使用戶按照某種順序瀏覽或查找表中的記錄,這時的順序是邏輯的,是通過索引關(guān)鍵字實現(xiàn)的。命令格式:SORTTOTableNameONFileName1[/A][/D][/C][FieldName2[/A][/D][/C]……][ASCENDING|DESCENDING][Scope][FOR1Expression1][WHILE1Expression2][FIELDSFieldNameList|FIELDSLIKESkeleton|FIELDSEXCEPTSkeletion]命令說明:TableName:為排序后的表名。FieldName、FieldName2為排序的字段,可以在多個字段上進(jìn)行排序。[/A][/D][/C]:分別表示在升序、降序和排序時不分大小寫,系統(tǒng)默認(rèn)的是升序、區(qū)分大小寫。[ASCENDING|DESCENDING]:指出除了用/A或/D指明排序方式的字段名,所有其他排序字段按升或降序。FORIExpression1:給出參加排序字段要滿足的要求,只有使表達(dá)式1Expression為真的記錄才可排序。FIELDS:給出排序以后的表所包含的字段列表,系統(tǒng)默認(rèn)是原來表中的所有字段。例:先打開學(xué)生表,對女生的記錄按政治成績由高到低,數(shù)據(jù)學(xué)成績由低到高進(jìn)行排序。USEXSSORTTOXS1ON政治/D,數(shù)學(xué)/AFOR性別=“女”關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQLSQL:是結(jié)構(gòu)化查詢語言,它包括數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制四部分。但在VF中只紹介查詢、定義、操縱三個方面。SQL命令動詞:SQL功能命令動詞數(shù)據(jù)查詢SELECT數(shù)據(jù)定義CREATE、DROP、ALTER數(shù)據(jù)操縱INSERT、UPDATE、DELETE數(shù)據(jù)控制GRANT、REVOKE一、查詢功能1、SQL語言的核心是查詢。查詢的基本形式:SELECT<字段名/表達(dá)式>FROM<表名/視圖名>WHERE<條件>由于表是由行和列組成就像數(shù)學(xué)中所學(xué)的坐標(biāo)由X軸和Y軸構(gòu)成,所需確定某個點需要說明X為多少Y為多少。而表中需要查詢某些數(shù)據(jù)就必需指明行和列,所以在查詢時:4
FROM<表名/視圖名>:說明查詢的數(shù)據(jù)來自于所需要的表或視圖。若某于多個表時,各個表之間用逗號隔開。5
SELECT<字段名/表達(dá)式>:說明從表或視圖中所查詢結(jié)果是哪些字段名或表達(dá)式的值(各字段名或表達(dá)式之間用逗號隔開)即針對表的列來操作(限定列)6
WHERE<條件>:說明從表或視圖中所查詢結(jié)果是哪些行即記錄針對表的行來操作(限定行)關(guān)于其它短語的說明:短語說明*來自于某(些)表的所有字段(屬性)DISTINCT去掉查詢結(jié)果中的重復(fù)記錄(元組)IN相當(dāng)于數(shù)學(xué)集合“∈”只需屬于其中一個元素(值)就是
滿足條件;NOTIN則不屬于其中任意一個元素(值)就滿足條件BETWEEN…AND表示…和…之間,注意和第二章BETWEEN()函數(shù)的區(qū)別LIKE字符串匹配運算符,注意通配符是“&”和
“-”與第二章LIKE()函數(shù)區(qū)別ORDERBY對指定某個(些)字段排序,只能對最終的
查詢結(jié)果排序,不能用于子查詢GROUPBY用于分組計算查詢(指定分組依據(jù))HAVING對GROUPBY分組計算查詢的結(jié)果進(jìn)一步的加以限定即限定分組
(對分組之后的限定),必須跟GROUP連用,不能單獨使用。
但與WHERE條件無關(guān),因WHERE條件是對分組之前限定某些
元組(記錄)是否來參加分組。(注:HAVING與WHERE使用的區(qū)別)ISNULL查詢某字段為空值的記錄(元組),但不能用“=NULL”表示ISNOTNULL查詢某字段不為空值的記錄(元組),但不能
用“#NULL”或“NOTISNULL”ANY/SOME子查詢中只需一行為.T.則外層就滿足條件ALL子查詢中所有的行都為.T.則外層就滿足條件EXISTS子查詢中只需有結(jié)果(無論多少),則外層就滿足條件NOTEXISTS子查詢中只需有結(jié)果,則外層就滿足條件COUNT()統(tǒng)計查詢結(jié)果的記錄(元組)條數(shù)這五個函數(shù)只能跟在
或后面,不
能直接跟在其它短語后面MAX()對某列(數(shù)值類型)求最大值MIN()對某列(數(shù)值類型)求最小值A(chǔ)VG()對某列(數(shù)值類型)求平均值SUM()對某列(數(shù)值類型)求和[INNER]
JOIN普通(內(nèi)部)連接即只有滿足條件的記錄才出現(xiàn)在查詢結(jié)果當(dāng)中LEFTJOIN左連接即除滿足條件的記錄外,第一個表不
滿足條件的記錄也出現(xiàn)在查詢結(jié)果當(dāng)中RIGHTJOIN右連接即除滿足條件的記錄外,第二個表不
滿足條件的記錄都會出現(xiàn)在查詢結(jié)果當(dāng)中FULLJOIN全連接即除滿足條件的記錄外,第一個表和第二個
表中不滿足條件的記錄都會出現(xiàn)在查詢結(jié)果當(dāng)中UNIONSQL查詢中唯一的一個并運算,將兩個SELECT
查詢語句的查詢的結(jié)果合并成一個查詢結(jié)果TOP顯示前面的部分記錄,必須跟ORDERBY連用。注意TOP必須書寫在查
詢結(jié)果第一個字段的前面如:SELECTTOP2姓名,出生日期FROMXSINTOARRAY把查詢結(jié)果存儲到某個數(shù)組當(dāng)中INTOCURSOR把查詢結(jié)果存儲到某個臨時表當(dāng)中INTOTABLE/DBF把查詢結(jié)果存儲到某個永久表(自由表)中TOFILE把查詢結(jié)果存儲到某個文本文件當(dāng)中TOPRINTER把查詢結(jié)果輸出到打印機可以在3個區(qū)域中創(chuàng)建SELECT命令。1
在命令窗口中;2
在VFP程序中3
在查詢設(shè)計器中注:當(dāng)FROM后面來自于多個表時,必須寫連接條件(通常根據(jù)表的公共字段作為連接條件),此時在書寫公共字段之前必須加以別名限定。定義表的別名方法見教材P137,超連接的格式見教材P140FROM書寫不要寫成=>FORM二、查詢方法:1
簡單查詢:例:從ZZ關(guān)系中檢索所有的工資值。檢索ZZ關(guān)系中的所有字段值SELECT工資FROMZZSELECT*FROMZZ如果要去掉重復(fù)值用:DISTINCT例:檢索哪些倉庫有工資多于1260元的職工號SELECTDISTICT倉庫號FROMZZWHERE工資>12602
單擊的連接查詢:類似于多個表的查詢,與嵌套查詢的區(qū)別是要查詢的結(jié)果呆以出自多個表中。而嵌套查詢的結(jié)果是基于一個表中。例:找出工資多于1250元的職工號與他們所在的城市。這里所要求檢索的住處分別出自ZZ和CK兩個關(guān)系,這樣的檢索肯定是基于多個關(guān)系的,這類查詢一般用連接查詢來實現(xiàn)。SELECT職工號,城市FORMZZ,CK;WHERE(工資>1250)AND(ZZ.倉庫號=CK.倉庫號)注:分號表示續(xù)行號3
嵌套查詢:查詢是基于多個關(guān)系的查詢,查詢的結(jié)果來自一個表,而查詢的條件去涉及多個表。注:VF只持兩層查詢,即內(nèi)層查詢塊和外層查詢塊,不支持SQL的多層嵌套查詢。例:哪些城市至少有一個倉庫的職工工資為1250元?SELECT城市FROMCKWHERE倉庫號IN;(SELECT倉庫號FROMZGWHERE工資=1250)結(jié)果也可寫成:SELECT*FROMCKWHERE倉庫號IN(“WH1”,“WH2”)注:IN相當(dāng)于集合運算符“包括于”注:這就是明顯的外層查詢和內(nèi)層查詢,在嵌套查詢中,只能對外層查詢結(jié)果進(jìn)行排序,而不能對內(nèi)存查詢進(jìn)行排。三、幾個特殊運算符:1、BETWEEN……AND……例:查詢工資在1230到1280元之間的職工所有信息;SELECT*FROMZGWHERE工資BETWEEN1230AND1280=SELECT*FROMZGWHERE(工資>1230)AND(工資<1280)2、LIKE3、不等于用“!=”表示;(在SQL中)例:查詢出地址不在北京的甩有SS信息;SELECT*FROMSSWHERE地址!=“北京”SELECT*FROMSSWHERENOT(地址=“北京”)四、排序:命令格式為:ORDERBYOrder_Item[ASC|DESC][Order_Item[AESC]……]例:按SS表中的工資值升序查找出所有職工信息SELECT*FROMSSORDERBY工資注:ORDERBY是對最終結(jié)果進(jìn)行排序,不能在子查詢中使用。五、簡單的計算查詢:例:查詢SS表中所在地的數(shù)目;SELECTCOUNT(DISTINCT地址)FROMSS六、分組計算查詢:格式為:GROUPBYGROUPCOLUMN[GroupColumn][HAVINGFiltercondition]例:求每個倉庫的職工平均工資。SELECT倉庫號,AVG(工資)FROMSSGROUPBY倉庫號注:GROUPBY短語一般跟在WHERE短語后面,若沒有WHERE短語,就跟在FROM短語后面。另外,GROUPBY還可以根據(jù)多個屬性進(jìn)行分組,在分組查詢時,有時要求查詢滿足條件的記錄時,可以用HAVING短語來限定分組。七、利用空值查詢:SQL支持NULL,所以也可以利用空值進(jìn)行查詢。NULL值具有以下特點:4
等價于沒有任何值;5
與0、空格和空字符串不同6
排序時具有最大的優(yōu)先權(quán)。7
可以用于計算和大多數(shù)的函數(shù)中。8
NULL值不改變變量或字段的數(shù)據(jù)類型。9
NULL值會影響命令、函數(shù)、表達(dá)式的執(zhí)行。例:查詢已經(jīng)確定供應(yīng)商號的SS信息:SELECT*FROMSSWHERE供應(yīng)商號ISNOTNULL注:查詢空值時使用ISNULL=NULL是無效的,空值是一個不確定的值,所以不能用等于號進(jìn)行比較。八、自連接與別名查詢:注:別名并不是必需的,在關(guān)系的自連接操作中,別名是必不可少的,SQL不僅可以以對多個表進(jìn)行連接操作,還可以將同一關(guān)系與其自身進(jìn)行連接,這種連接就稱為自連接,可以進(jìn)行自連接的關(guān)系,實際上它們之間存在著一種特殊的遞歸聯(lián)系。1
內(nèi)外層相互關(guān)聯(lián)的嵌套查詢2
使用量詞和謂詞的查詢:3
超連接查詢:4
集合并運算;并運算的格式:UNION[ALL]SELCTCommand一、VFP中SQLSELECT的幾個特殊選項;1、顯示部分結(jié)果:命令格式為:TOPnExpr[PERCENT]注:符號查詢條件的所有記錄中,選擇指定數(shù)量或百分比的記錄;TOP子句必須與ORDERBY子句同時使用;當(dāng)不使用PERCENT時,nExpr可以是1-32767之間的整數(shù),顯示查詢結(jié)果的前幾個記錄;當(dāng)使用PERCENT時,nExpr是0.01-99.99之間的實數(shù),顯示查詢結(jié)果的前百分之幾個記錄。例:顯示工資最高的4位職工的信息。SELECT*TOP4SSORDER工資DESC二、將查詢結(jié)果放到數(shù)組中:命令格式為:INTOARRAYArrayName(數(shù)組變量名)可以將查詢結(jié)果存放到二維數(shù)組中,每行對應(yīng)一條記錄。例:將查詢到的AA信息存放在數(shù)組ABC中。SELECT*FROMAAINTOARRAYABC三、將查詢結(jié)果放到臨時文件中:命令格式為:INTOCURSORCursorName(臨時文件名)例:將查詢到的職工信息存放到臨時文件ABC中。SELECT*FROMSSINTOCURSORABC注:INTOCURSOR短語一般用于存放一些臨時結(jié)果,當(dāng)使用完后這些臨時文件會自動刪除。四、將查詢結(jié)果存放到永久表中:命令格式為:INTODBF|TABLETableName例:將工資最高的那30%的職工信息存放到一個永久表中。SELECT*TOP30PERCENTFROMSSINTOTABLEABCORDERBYDESC。五、將查詢結(jié)果存放到文本文件中:命令格式為:TOFILEFileName[ADDITIVE]注:ADDITIVE:使查詢結(jié)果追加到TOFILEFileName所指定廣西文件的內(nèi)容后面。例:將工資最高的那30%的職工信息存放到一文本文件AA中。SELECT*TOP30PERCENTFROMSSTOFILEABCORDERBYDESCSELECT*FROM學(xué)生TOFILEAAADDITVE數(shù)據(jù)的操作SQL數(shù)據(jù)操作:包括數(shù)據(jù)插入、更新和刪除。一、插入記錄:1、格式1:INSERTINTO<表名>[字段名表]VALUES(<表達(dá)式1>,<表達(dá)式2>,……)功能:在表中插入新記錄:例:在AA關(guān)系中插入元組:(E4,S3,OR02,2002/01/22,13000)INSERTINTOAAVALUES(“E4”,”S3”,”O(jiān)R02”,{^2002-01-22},13000)2、格式2:INSERTINTO<表名>FROMARRAY<數(shù)組名>功能:在表中插入新記錄,數(shù)據(jù)來自于指定的數(shù)組名二、修改記錄:命令格式:UPDATE<表名>SET<被修改的字段名>=<表達(dá)式>[WHERE<條件>功能:用新的值去更新表中的記錄例:將“選課”表中“學(xué)生號”為001號的學(xué)生成績增加10分UPDATE選課SET成績=成績+10WHERE學(xué)生號=“001”注:一般使用WHERE子句指定條件,以更新滿足條件的一些記錄的字段值,并且一次可以更新多個字段;如果不使用WHERE子句,則更新全部記錄,UPDATE命令只能用來更新單個表中的記錄。三、刪除記錄:命令格式:DELETEFROM<表名>[WHERE<條件>]功能:邏輯刪除表中記錄例:要刪除“選課”表中成績小于60分的記錄DELECTFROM選課WHERE成績<60注:FROM指定從哪個表中刪除數(shù)據(jù),WHERE指定被刪除的記錄所滿足的條件,如果不使用WHERE子句,則刪除該表中的全部記錄。帶有刪除標(biāo)記的記錄在PACK命令之前并不從表中做物理刪除,可以用RECALL命令恢復(fù)帶有刪除標(biāo)記的記錄。注:這三個SQL語句對表操作的命令與第三章VF中對表操作命令的區(qū)別。四、數(shù)據(jù)定義:表的定義:命令格式:CREATETABLE|DBF<表名>[FREE](<字段名><類型>[(<字段寬度>)]……)說明:1
理解數(shù)據(jù)的說明;2
理解創(chuàng)建方法;3
撐握如下短語:PRIMARYKEY(建立主索引);CHECK(設(shè)置規(guī)則);ERROR(設(shè)置錯誤信息);DEFAULT(默認(rèn)值);FREE(建立自由表;UNIQUE(建立候選索引);NULL或NOTNULL(是否允許為NULL值)等例:用命令創(chuàng)建學(xué)生表。該表分別由字段學(xué)生號、姓名、性別、年齡構(gòu)成,并且以學(xué)生為主索引,為年齡字段指定了有效性規(guī)則(年齡≥19)和顯示的錯誤信息;CREATETABLE學(xué)生;(學(xué)生號N(3)PRIMARYKEY,姓名C(3),性別L(1),年齡N(2)CHECK(年齡>=19)ERROR“年齡必須滿19歲”)五、表的刪除:命令格式為:DROPTABLE<表名>功能:從磁盤上刪除指定表文件注:執(zhí)行了DROPTABLE語句之后,所有與被刪除表有關(guān)的主索引、默認(rèn)值、驗證規(guī)則都將丟失。當(dāng)前數(shù)據(jù)庫中的其他表若與被刪除的表有關(guān)聯(lián),這些規(guī)則和關(guān)系也都將無效。六、表結(jié)構(gòu)的修改:命令格式為:ALTERTABLE有三種格式:注:第三種命令格式是對前兩面三刀種命令格式的補充,可以更改字段名,也可以刪除字段還可以定義,修改和刪除表級別的有效性規(guī)則。例:為“選課”表的字段“成績”更改字段名為“選課成績”ALTERTABLE選課RENAME成績TO選課成績例:刪除“成績”字段ALTERTABLE選課DROPCOLUMN成績例:將“選課”表的學(xué)生號和選課號設(shè)置為候選索引,索引名為SSALTERTABLE選課ADDUNIQUE學(xué)生號+選課號TAGSS例:刪除候選索引SSALTERTABLE選課DROPUNIQUETAGSS視圖在后一章上。第六章查詢與視圖一、查詢:是一個預(yù)定義好的SQLSELECT語句。是以文本文件形式存儲在磁盤的。擴展名為:.QPR二、創(chuàng)建查詢的常用方法: 使用命令創(chuàng)建:CREATEQUERY<文件名 > 使用新對話框創(chuàng)建; 使用項目管理器創(chuàng)建;注:創(chuàng)建步驟必須撐握。三、查詢設(shè)計器項卡:選項卡對應(yīng)SQL短語作用字段SELECT用于指定查詢結(jié)果的字段或函數(shù)及表達(dá)式聯(lián)接JOINON用于指定連接條件篩選WHERE用于指定滿足條件的元組排序依據(jù)ORDERBY用于指定排序的字段和排序方式分組依據(jù)GROUPBY和HAVING用于指定分組依據(jù)和限制分組依據(jù)雜項DISTINCT、TOP用于去掉重量復(fù)值或顯示前面部分元組四、查詢?nèi)ハ蜻x項卡:選項卡功能或短語瀏覽將查詢結(jié)果以表格形式顯示出來,相當(dāng)于BROWS命令臨時表將查詢結(jié)果生豐一個臨時只讀表中,相當(dāng)于INTOCURSOR短語表半查詢結(jié)果生成一個永久表(自由表),相當(dāng)于INTODBF|TABLE短語圖形將查詢結(jié)果生成一個圖表文件報表將查詢結(jié)果生成一個.frx的報表文件標(biāo)簽將查詢結(jié)果生成一個.LBX的標(biāo)簽文件五、查詢中需注意以下兩點:1、查詢設(shè)計器不能寫所有的SQL查詢,只能寫一些簡單規(guī)則SQL查詢,較復(fù)雜的查詢不能建立(如:內(nèi)外層相互嵌套不能建立)2、用命令DO<查詢文件名>運行查詢時,必須加上文件后綴名.QPR一、視圖:是一個定制的虛擬表(沒有真正包含數(shù)據(jù));分為本地視圖和遠(yuǎn)程視圖。視圖可以引用一個或多個表,也可以引用其它視圖。視圖是可以更新,它可以用遠(yuǎn)程表;1
使用視圖時必須先打開該視圖所在的數(shù)據(jù)庫。視圖是根據(jù)表定義或派生出來的,所以在涉及到視圖的時候,常把表稱做基本表;2
創(chuàng)建視圖的方法:3
使用SQL命令創(chuàng)建方法:CREATEVIEW<視圖名>[<列名>,<列名>]…)]AS<子查詢>[WITHCHECKOPTION]例:定義一個視圖SS-S,包含職工號、月工資、年工資3個字段。CREATEVIEWSS-SAS;SELECT職工號,工資AS月工資,工資*12AS年工資FROMAS2、使用新建對話框創(chuàng)建3、使用項目管理器創(chuàng)建;注:在關(guān)系數(shù)據(jù)庫中,視圖始終不真正含有數(shù)據(jù),它始終是原來表的一個窗口,雖然視圖可以便表一樣進(jìn)行查詢,但是插入、更新和刪除操作在視圖上卻有一定的限制。在一般情況下,當(dāng)一個視圖是由單信表導(dǎo)出時可以進(jìn)行插入和更新操作,不能進(jìn)行刪除操作;當(dāng)視圖從多個表導(dǎo)出時,插入、更新和刪除操作都不允許進(jìn)行。這種了限制是有必要的,它可以避免一些潛在問題的發(fā)生。三、視圖的分類:1、本地視圖:使用當(dāng)前數(shù)據(jù)庫中的VisualFoxPro表建立的視圖是本地視圖;使用本地視圖向?qū)?chuàng)建本地視圖A:打開本地視圖向?qū)В何募陆ā驅(qū)нM(jìn)行操作;B:打開視圖設(shè)計器:文件——新建——打開——進(jìn)行操作。2、創(chuàng)建遠(yuǎn)程視圖:注:遠(yuǎn)程包括兩個方面的內(nèi)容:一是數(shù)據(jù)源不在本地,需要進(jìn)行遠(yuǎn)程連接才能獲得需要的數(shù)據(jù)源表中的信息;二是數(shù)據(jù)源表不是VFP表或視圖,而是其他數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)。只要滿足其中一種情況就需要創(chuàng)建遠(yuǎn)程視圖。VFP允許將一個或多個遠(yuǎn)程視圖添加到本地視圖中,這樣在同一視中就要以同時訪問VFP數(shù)據(jù)和遠(yuǎn)程ODBC數(shù)據(jù)源中的數(shù)據(jù)。例:定義視圖SX-SS,生成含有字段學(xué)生號和姓名的視圖;CREATEVIEWSX-SSAS;SELECT學(xué)生號,姓名FROMSX例:定義視圖SX-WT,查詢學(xué)生號是001號的學(xué)生。CEREATEVIEWSX-WTAS;SELECT學(xué)生號,姓名FROMSX;WHERE學(xué)生號=001四、查詢設(shè)計器與視圖設(shè)計器的主要區(qū)別;5
由于視圖可以更新,為此在視圖設(shè)計器中多了一個“更新條件”選項卡,查詢不能更新;6
在視圖設(shè)計器中沒有查詢?nèi)ハ?,而查詢設(shè)計器有查詢?nèi)ハ颍?
查詢是以.QPR為擴展名的形式保存在磁盤中,而視圖設(shè)計完后,在磁盤上找不到類似的文件,視圖的結(jié)果保存在數(shù)據(jù)庫中。五、使用視圖:注:視圖建立好以后,就要以像運行查詢一樣運行視圖,也可以重新命名保存視圖,不但可以用視圖來顯示和更新數(shù)據(jù),而且還可以通過調(diào)整視圖的屬性來提高性能。視圖的使用類似于表。1
視圖操作:A;使用USE命令在數(shù)據(jù)庫中打開視圖或關(guān)閉視圖。B:在“瀏覽器”窗口中顯示或修改視圖中的記錄。C:使用SQL語句對視圖進(jìn)行操作。D:使用視圖在文本框、表格控件、表單或報表中作為數(shù)據(jù)源等。1
使用視圖:一個視圖在使用時,將作為臨時表在自己的工作區(qū)中打開,視圖的基本表是由定義視圖的SQLDELETE語句訪問的,可以在“項目管理器中”使用視圖,也可以通過命令來使用視圖。A:在項目管理器中使用視圖:打開項目管理器,選擇一數(shù)據(jù)庫,然后再選擇視圖名,單擊“瀏覽”B:通過命令使用視圖:用命令來使用視圖必須先打開數(shù)據(jù)庫。如:OPENDATABASE訂單管理打開訂單管理數(shù)據(jù)庫USEDD_SS根據(jù)DD表和SS表建立視圖BROWSE瀏覽視圖MODIFYVIEW修改當(dāng)前視圖3、視圖的刪除:視圖由于是從表中派生出來的,所以不需要修改結(jié)構(gòu),但視圖可以刪除其命令格式為:DROPVIEWVIEW_NAME;例:刪除視圖B_W,其命令為:DROPVIEWB_W注:視圖一經(jīng)建立就基本可以像表一樣使用,適用于基本表的命令都可以用于視圖。在視圖上可以建立索引,查該索引是臨時的,視圖一旦關(guān)閉,索引將自動刪除,多工作區(qū)時也可以建立聯(lián)系,但視圖不可以用MODIFYSTRUCTURE命令修改結(jié)構(gòu)。因為視圖不是獨立存在的基本表,它是由基本表派生出來的,所以只能修改視圖的定定義。程序設(shè)計的基礎(chǔ)一、數(shù)據(jù)類型:每一個數(shù)據(jù)都有一定的類型,數(shù)據(jù)類型決定了數(shù)據(jù)的存儲方式和運算方式,大多數(shù)程序設(shè)計允許使用常量、變量和數(shù)組來存儲數(shù)據(jù);1、常量:有6種類型:(數(shù)值型、貨幣型、字符型、日期型、日期時間型、邏輯型)2
數(shù)值型(N):由數(shù)字0-9、小數(shù)點、正負(fù)號構(gòu)成。如:12、0.1、-1.23;還可以用科學(xué)記數(shù)法表示如:1.3E-12表示1.3*10-123
貨幣型(Y):在數(shù)值前導(dǎo)貨幣符號($),保留四位小數(shù),能夠自動四舍五入如:$123.45678存儲為$123.45684
字符型(C):習(xí)慣稱為字符串,由中、英、數(shù)字等字符組成。表示方法用單引號(’’)、雙引號(””)、方括號([])三種定界符將字符串括起來。定界符必須成對出現(xiàn),如“AB是不合法的、”計算機”是合法的。當(dāng)定界符作為字符串內(nèi)容時外層定界符要加以區(qū)分如:[“我們”]是合法的,””我們””是非法的。5
日期型(D):分傳統(tǒng)和嚴(yán)格日期格式兩種;傳統(tǒng)日期格式默認(rèn)為美國日期格式:”mm/dd/yy”(月/日/年),年份可以是2位數(shù)字,也可以是4位數(shù)字,如:{^10/08/01}、{10-08-01}、{10/08/2001}嚴(yán)格式日期格式:{^年/月/日}書寫規(guī)則是用花括號”{}”作為定界符,第一個字符為脫字符”^”年份為四位、按年月日順序書寫不能顛倒如:{^2008/08/08}影響日期格式命令:1、設(shè)置日期顯示分隔符:SETMARKTO[分隔符]當(dāng)SETMARKTO后沒指定任何分隔符時,恢復(fù)系統(tǒng)默認(rèn)的分隔符斜杠(/)。2、設(shè)置日期顯示格式:SETDATETOYMD|DMY|MDYYMD設(shè)置為年月日格式;DMY:設(shè)置為日月年格式;MDY:設(shè)置為月日年格式;3、設(shè)置顯示年份位數(shù)(2位或4位):SETCENTYURYOFF|ONOFF為2位ON為4位)1
日期時間型(T):分傳統(tǒng)和嚴(yán)格日期時間格式兩種:傳統(tǒng)的日期時間格式:嚴(yán)格日期時間格式:{^年/月/日),[小時:分:秒]}書寫規(guī)則與日期型相似3
邏輯型(L):邏輯型數(shù)據(jù)用句點作為定界符,只有兩個值邏輯真和邏輯假。邏輯真用:.T.,.Y.表示(大小寫不區(qū)分)邏輯假用:.F.,.N.表示(大小寫不區(qū)分)變量:5
變量值是能夠隨時更改的,VF中變量分為字段變量和內(nèi)存變量兩大類;6
內(nèi)存變量又分:簡單內(nèi)存變量和數(shù)組(一維和二維數(shù)組)一、字段變量:就是我們所說的表中的字段,因為字段的取值是可變的,所以表中的字段名又叫字段變量,其值是當(dāng)前記錄指針?biāo)傅闹担愋桶鹤址汀?shù)值型、貨幣型、日期型、日期時間型、邏輯型、整型、通用型和備注型)二、內(nèi)存變量:是內(nèi)存中的一個存儲單元,變量的值就是存放在這個單元里的數(shù)據(jù)。(6種類型:字符型C、數(shù)值型N、貨幣型Y、日期型D、日期時間型T、邏輯型L)注:VF中沒有時間型數(shù)據(jù)類型。如果內(nèi)容變量與數(shù)據(jù)表中的字段變量同名,用戶在引用內(nèi)存變量時,要在其名字前加一個M.或m->,用來強調(diào)這個變量是內(nèi)存變量。1、內(nèi)存變量的賦值:
格式1:<內(nèi)存變量>=<表達(dá)式>格式2:STOR<表達(dá)式>TO<內(nèi)存變量名>功能說明:A:等號一次只能給一個內(nèi)存變量賦值。STORE命令可以時給多個變量賦予相同的值,各個內(nèi)存變量名之間應(yīng)用逗號分隔開。B:一個變量在使用之前并不需要特別聲明。當(dāng)用STORE命令給變量賦值時,如果該變量不存在,那么系統(tǒng)會自動建立它。C:如果要改變內(nèi)存變量的內(nèi)容和類型可以通過對內(nèi)存變量重新賦值來完成。例:給內(nèi)存變量賦值:NJ=[大學(xué)]給變量NJ賦字符值;STORE‘1234567890’TOXH給變量XH賦字符值;STORESQRT(3^2+4^2)TOna1,na2,na3賦予相同的數(shù)值;輸出內(nèi)容變量的值。?4,5,6顯示3個常量值;??4,5,6顯示3個常量的值;2、內(nèi)存變量的顯示:格式1:LISTMEMORY[LIKE<通配符>]號[TOPRINTER|TOFILE<文件名>]格式2:DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]功能:顯示內(nèi)存變量的當(dāng)前信息,包括變量名、作用域、取值和類型。格式2和格式1的區(qū)別是:格式1不暫停,直到顯示結(jié)束。格式2分屏顯示,每顯示一屏?xí)和?,等待用戶按任意繼續(xù)顯示。注:A;通配符包括*和?。*表示多個字符;?表示一個字符。B:內(nèi)存變量名不能加定界符;注:LISTMEMORY:一次顯示與通配符的所有內(nèi)存變量,如果內(nèi)存變量多,一屏顯示不下,則自動向上滾動。DISPLAYMEMORY分屏顯示與通配符的所有內(nèi)存變量,如果內(nèi)存變量多,顯示一屏后暫停,只要按任意鍵后就可以繼續(xù)顯示下一屏。選用LIKE短語只顯示與通配符相匹配的內(nèi)存變量,能配符包括*和?可選子句TOPRINTER或TOFILE<文件名>用于在顯示的同時送往打印機,或者存入給定文件名的文本文件中,擴展名為.TXT。例:STORE“BOODBEY”TOX1STORE“HELLO”TOX2DISPLAYMEMORYLIKEA*顯示所有以“A”開頭的內(nèi)存變量。3、清除內(nèi)存變量:格式1:CLEARMEMORT格式2:RELEASE<內(nèi)存變量名表>格式3:RELEASEALL[EXTENDED]格式4:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]功能說明:格式1:清除所有內(nèi)存變量;格式2:清除指定的內(nèi)存變量;格式3:清除所有內(nèi)存變量,在人機會話狀態(tài)其作用與語法1相同,如果出現(xiàn)在程序中,則應(yīng)加上短語EXTENDED,否則不能刪除公共內(nèi)存變量。格式4:選用LIKE短語清除與通配符相匹配的內(nèi)存變量,選用EXCEPT短語清除與通配符不相匹配的內(nèi)存變量。例:RELEASEX1,X2釋放內(nèi)存變量X1,X2RELEASEALLLIKEA*釋放所有以變量A開頭不的內(nèi)存變量。數(shù)組:是在內(nèi)存中連續(xù)的一片存儲區(qū)域,它由一系列元素組成,每元素相當(dāng)于一個簡單內(nèi)存變量。1、創(chuàng)建數(shù)組格式:A:DIMNSION<數(shù)組名>(<下標(biāo)上限1>[,<下標(biāo)上限2>])[,……]B:DECLARE<數(shù)組名>(<下標(biāo)上限1>[,<下標(biāo)上限2>])[,……]注:1、兩種格式的功能等價,數(shù)組創(chuàng)建后,系統(tǒng)自動給每個數(shù)組元素賦予初值邏輯假.F.2、各數(shù)組元素數(shù)據(jù)類型可以不相同3、數(shù)組的下限規(guī)定為1,訪問時不能超限4、可以用一維數(shù)組形式去訪問二維數(shù)組5、在賦值和輸入語句中使用數(shù)組名時,表示將同一值同時賦值給該數(shù)組的全部元素6、定義(訪問)數(shù)組時也可以用方括號,如DIMEBY(3)等價于DIMEMY(3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新型門店合伙人收益分配管理合同4篇
- 2025年度汽車租賃保險及理賠服務(wù)合同范本3篇
- 2024年中職學(xué)校教師個人工作計劃
- 軸承密封套課程設(shè)計
- 二零二五版企業(yè)間資金拆借利息管理協(xié)議4篇
- 課程設(shè)計有什么專題
- 診斷學(xué)的課程設(shè)計
- 部編版語文七年級下冊《木蘭詩》公開課獲獎教學(xué)設(shè)計
- 食品倉儲管理課程設(shè)計
- 年度公路管理與養(yǎng)護(hù)服務(wù)戰(zhàn)略市場規(guī)劃報告
- 急診與災(zāi)難醫(yī)學(xué)課件 03 呼吸困難大課何琳zhenshi
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復(fù)
- 《國際市場營銷》案例
- GB/T 37518-2019代理報關(guān)服務(wù)規(guī)范
- GB/T 156-2017標(biāo)準(zhǔn)電壓
- PPT溝通的藝術(shù)課件
- 內(nèi)科學(xué):巨幼細(xì)胞性貧血課件
- 暑假家校聯(lián)系情況記錄表
- 周計劃工作安排日程表Excel模板
- Q∕GDW 12155-2021 國家電網(wǎng)有限公司應(yīng)急指揮信息系統(tǒng)技術(shù)規(guī)范
評論
0/150
提交評論