二級(jí)Visual Foxpro完全筆記_第1頁(yè)
二級(jí)Visual Foxpro完全筆記_第2頁(yè)
二級(jí)Visual Foxpro完全筆記_第3頁(yè)
二級(jí)Visual Foxpro完全筆記_第4頁(yè)
二級(jí)Visual Foxpro完全筆記_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、二級(jí)Visual Foxpro完全筆記一、二級(jí)Visual Foxpro的基本框架和主要內(nèi)容1.基本框架:總分總的模式第一章:總述第二九章:分述第十章:總結(jié)第十一章:上機(jī)指導(dǎo)2.重要章節(jié)及內(nèi)容(見(jiàn)教材目錄)各個(gè)章節(jié)考試時(shí)都有涉及,其中第三、四和七章為重點(diǎn)。3.題型:1)筆試部分:?jiǎn)芜x題 2分*35題=70分(其中前十題在二級(jí)vf公共基礎(chǔ)知識(shí)中) 填空題 2分*15題=30分(其中前五題在二級(jí)vf公共基礎(chǔ)知識(shí)中)2)機(jī)試部分:基本操作題 30分簡(jiǎn)單應(yīng)用題 40分綜合應(yīng)用題 30分(其中不涉及公共基礎(chǔ)知識(shí),采取隨機(jī)抽題的方式)二、基礎(chǔ)知識(shí)1.vf的作用是要用來(lái)處理現(xiàn)實(shí)中的問(wèn)題,主要使用程序和數(shù)據(jù)來(lái)

2、進(jìn)行。程序師處理數(shù)據(jù)的一組命令;而數(shù)據(jù)就是被程序處理的對(duì)象。2.vf軟件的啟動(dòng):兩種方式桌面上的快捷方式開(kāi)始菜單程序MSVF3.vf的安裝:兩種方式光盤安裝:setup.exe網(wǎng)絡(luò)安裝4.了解vf界面標(biāo)題欄主菜單常用工具欄主窗口:顯示或輸出數(shù)據(jù)處理后的結(jié)果。狀態(tài)欄:顯示數(shù)據(jù)處理時(shí)的狀態(tài)信息。命令窗口:用戶對(duì)計(jì)算機(jī)發(fā)布的命令。5.vf中最常用命令介紹?表示隔行輸出。?表示同行輸出。&&+內(nèi)容表示是對(duì)前面所寫命令的注釋說(shuō)明,可提高程序的可讀性,一般以綠色顯示。 Clear表示對(duì)主窗口進(jìn)行清屏,它本身就是命令,因而clear后不加()。三、數(shù)據(jù)與數(shù)據(jù)運(yùn)算(一)簡(jiǎn)單介紹vf系統(tǒng)中數(shù)據(jù)的

3、形式和類型1.vf系統(tǒng)所處理的數(shù)據(jù)形式有四種:常量變量表達(dá)式函數(shù)2.上述四種形式的數(shù)據(jù)根據(jù)其組成和結(jié)構(gòu)的不同又可分為六種類型:數(shù)值型貨幣型字符型日期型日期時(shí)間型邏輯型上述類型決定數(shù)據(jù)的存儲(chǔ)方式和運(yùn)算方式。(二)常量1.含義:是用以表示一個(gè)具體的、確定的、不變的值。2.常量的類型:1)數(shù)值型常量:含義:也稱N型,用來(lái)表示數(shù)量的多少。組成:由數(shù)字09,小數(shù)點(diǎn)和正負(fù)號(hào)構(gòu)成。可用科學(xué)計(jì)數(shù)法的形式來(lái)書寫,如:1500=1.5*10的3次方=1.5e3,其中的e/E表示10的n次方,n為整數(shù)(正整數(shù)、負(fù)整數(shù)、0均可)。數(shù)值型數(shù)據(jù)在內(nèi)存中用8個(gè)字節(jié)表示。2)貨幣型常量:含義:也稱Y型,用來(lái)表示貨幣值。組成:

4、在數(shù)值型常量之前加上一個(gè)$符號(hào)即可。在存儲(chǔ)和計(jì)算時(shí)采用4位小數(shù),多于4位時(shí)自動(dòng)四舍五入。沒(méi)有科學(xué)計(jì)數(shù)法形式,在內(nèi)存中占用8個(gè)字節(jié)。3)字符型常量含義:也稱C型或者字符串。組成:用半角的單引號(hào)、雙引號(hào)或方括號(hào)作為定界符把字符串括起來(lái),且定界符必須成對(duì)匹配。但定界符不是字符型常量的內(nèi)容。定界符內(nèi)的字符可為數(shù)字、漢字、英文、空格或者無(wú)內(nèi)容。不包含任何字符的字符串為空串;完全以空格為字符的字符串為空格字符串。4)日期型常量:含義:用來(lái)顯示日期,也稱D型。組成:它的定界符是一對(duì)花括號(hào),并且花括號(hào)內(nèi)第一個(gè)字符必須是脫字符,花括號(hào)內(nèi)括年月日三部分內(nèi)容,各部分內(nèi)容之間用分隔符-分隔。而斜杠則是系統(tǒng)在主窗口顯示

5、日期型數(shù)據(jù)使用的默認(rèn)分隔符。yyyy-mm-dd。日期型常量也用8個(gè)字節(jié)表示。影響日期格式的設(shè)置命令:Set date to ymd/dmy/mdy功能是設(shè)置日期顯示時(shí)的格式。Set mark to -或者/或者功能是用于設(shè)置顯示日期型數(shù)據(jù)時(shí)的分隔符。若未指定分隔符則表示恢復(fù)系統(tǒng)默認(rèn)斜杠分隔符。Set century on/off功能是設(shè)置年份是以(on)4位或(off)2位來(lái)顯示。5)日期時(shí)間型常量:含義:用來(lái)顯示日期和時(shí)間,也稱T型。組成:yyyy-mm-dd hh:mm:ss am/pm。日期時(shí)間型常量也用8個(gè)字節(jié)存儲(chǔ)。注:上述所有關(guān)于日期和日期時(shí)間的設(shè)定在vf界面的工具菜單選項(xiàng)區(qū)域中進(jìn)

6、行操作。6)邏輯型常量:含義:它只有邏輯真和邏輯假兩個(gè)值,也稱L型。組成:邏輯真.t. .T. .y. .Y.邏輯假.f. .F. .n. .N.前后的兩個(gè)點(diǎn)作為定界符必不可少,但是只占1個(gè)字節(jié)。(三)變量1.定義:是指在成都之行進(jìn)程中,其值可以被改變的量。2.變量的命名原則:以漢字、字母或下劃線開(kāi)頭,可以含有數(shù)字,但不能含有非法字符如小數(shù)點(diǎn)、空格或通配符(*/?)。要盡量做到見(jiàn)文知義。3.變量的分類:1)字段變量:在表文件中記錄屬性內(nèi)容的變量。表中的每一個(gè)列標(biāo)題就稱為一個(gè)字段變量。列標(biāo)題的名稱就是這個(gè)字段變量的名稱,其下的具體內(nèi)容就是這個(gè)字段變量的值,即字段值。 注意一:表的每一行被稱為一條

7、記錄,鼠標(biāo)指向某一行時(shí)會(huì)變成指針的標(biāo)志,指針?biāo)赶虻男屑创俗侄萎?dāng)前的值,當(dāng)輸出這個(gè)字段變量時(shí),就會(huì)在主窗口顯示當(dāng)前行的值。注意二:若字段變量名和內(nèi)存變量名重名的現(xiàn)象時(shí),優(yōu)先輸出字段變量的值;若想輸出內(nèi)存變量的值,則需在變量名前加上前綴M.(或M->)。2)系統(tǒng)變量:是由vf系統(tǒng)自定義的變量,其名稱是由系統(tǒng)預(yù)先定義好的,通常以下劃線_開(kāi)頭。例如:_screen. fontsize=20 可更改主窗口所顯示字的字號(hào)大小;_screen. backcolor=rgb(0,255,45) 可更改主窗口的背景顏色。_vfp. Caption=任意字符 可更改vf標(biāo)題欄上顯示的標(biāo)題名。3)內(nèi)存變量:

8、含義:表示內(nèi)存中臨時(shí)存放數(shù)據(jù)的單元格,它的類型取決于其中存放數(shù)據(jù)的類型。 內(nèi)存變量的賦值:即把一個(gè)數(shù)據(jù)存放到內(nèi)存變量中。兩種方法:格式一:store 表達(dá)式/數(shù)據(jù) to 變量名 可把同一個(gè)值賦給不同的變量,各內(nèi)存便另名之間要用逗號(hào)隔開(kāi)。格式二:變量名=表達(dá)式/數(shù)據(jù)(注意:數(shù)據(jù)為常量時(shí)必須加)可通過(guò)對(duì)內(nèi)存變量重新賦值來(lái)改變其內(nèi)容和類型。內(nèi)存變量的顯示:list/display memory like */? 用來(lái)顯示內(nèi)存變量的信息。 內(nèi)存變量的清除:格式一:clear memory/release all 表示清除全部?jī)?nèi)存變量格式二:release 變量名表 表示清除制定內(nèi)存變量,可為若干個(gè)格式

9、三:release all like */?或except */? 表示清除相匹配或不相配的內(nèi)存變量。 數(shù)組:含義:數(shù)組是一種特殊的內(nèi)存變量,表示內(nèi)存中連續(xù)的若干個(gè)存儲(chǔ)單元。用來(lái)存儲(chǔ)一系列數(shù)值,其中的每個(gè)值稱為數(shù)組的一個(gè)元素,可通過(guò)下標(biāo)來(lái)顯示,下標(biāo)用()或括起來(lái)。一個(gè)數(shù)組中的各個(gè)元素的值的數(shù)據(jù)類型可以不同。創(chuàng)建數(shù)組的命令:dimension/declare 數(shù)組名(元素個(gè)數(shù))。注意:若定義了一個(gè)數(shù)組aa,再給數(shù)組名aa賦值,則表明是給aa數(shù)組中的每個(gè)元素都賦予了一個(gè)相同的值。數(shù)組分類:一維數(shù)組:一行多列 dimension 數(shù)組名(數(shù)值表達(dá)式)二維數(shù)組:多行多列dimension 數(shù)組名(數(shù)值

10、表達(dá)式1,數(shù)值表達(dá)式2)其中,數(shù)值表達(dá)式1指定其行,數(shù)值表達(dá)式2指定其列,若只有一個(gè)數(shù)值,則為一維數(shù)組。 一維數(shù)組與二維數(shù)組的轉(zhuǎn)換:例如:dimension aa(3)aa(1,1),aa(1,2),aa(1,3)這是將一維數(shù)組轉(zhuǎn)換為二維數(shù)組。dimension bb(2,3)bb(1),bb(2),bb(6)這是將二維數(shù)組轉(zhuǎn)換為一維數(shù)組。(四)表達(dá)式1.定義:通過(guò)特定的運(yùn)算符將常量、變量和函數(shù)連接起來(lái)的式子,通過(guò)運(yùn)算后,表達(dá)式都會(huì)生成一個(gè)值。2.形式:1)單一的運(yùn)算對(duì)象,如常量、變量或函數(shù)。2)由運(yùn)算符將運(yùn)算對(duì)象鏈接起來(lái)的式子。3.作用:1)賦值2)輸出4.常用表達(dá)式的類型:1)數(shù)值表達(dá)式定

11、義:由算術(shù)運(yùn)算符將數(shù)值型數(shù)據(jù)連接起來(lái)形成的式子。運(yùn)算符:( ) 括號(hào)*或 乘方*/和% 乘除和求余運(yùn)算+和- 加和減這四類運(yùn)算符的優(yōu)先級(jí)依次降低,同類之間具有相同的優(yōu)先級(jí)。運(yùn)算結(jié)果的類型:它的值仍是數(shù)值型。注意求余運(yùn)算符%的用法:它的被除數(shù)與出書都必須是整數(shù),除數(shù)不能為0。 求余三原則表述如下:若c=a%b 做這種題的時(shí)候先算出c=a%b的值,然后c必須與a同號(hào)。還要注意的是:若a與b同號(hào),則當(dāng)前余數(shù)就是c若a與b異號(hào),則當(dāng)前余數(shù)結(jié)果是b+c例如:?10%3,-10%-3,10%-3,-10%31 -1 -2 22)字符表達(dá)式定義:由字符串運(yùn)算符將字符型數(shù)據(jù)連接起來(lái)形成的式子。運(yùn)算符:+ 表示

12、前后兩個(gè)字符串首尾連接成一個(gè)新的字符串- 表示連接前后兩個(gè)字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。 這兩個(gè)運(yùn)算符之間不分優(yōu)先級(jí)。運(yùn)算結(jié)果的類型:它的值仍是字符型。例如:a=hello b=everyone!?a+b,a-bhello everyone! hello everyone!3)日期時(shí)間表達(dá)式定義:用運(yùn)算符將日期或日期時(shí)間型數(shù)據(jù)連接起來(lái)形成的式子。注意:=和$僅適用于字符型數(shù)據(jù),其他運(yùn)算符適用于任何類型的數(shù)據(jù),但運(yùn)算符前后的兩個(gè)運(yùn)算對(duì)象的數(shù)據(jù)類型必須要保持一致。數(shù)值型、貨幣型數(shù)據(jù)各自之間的比較按其數(shù)值的大小進(jìn)行。日期型、日期時(shí)間型數(shù)據(jù)各自之間的比較,越晚日期或時(shí)間越大。

13、邏輯型數(shù)據(jù)比較:.t.>.f.字串包含測(cè)試:字符表達(dá)式1 $ 字符表達(dá)式2 ,如果前者整體是后者的字串,即1包含于2,則結(jié)果為真,否則為假。字符串之間的比較原則是依次比較它們對(duì)應(yīng)位置中的字符,若相同則繼續(xù)比較,若不同則根據(jù)這兩個(gè)字符的排序序列決定字符串的大小。但是,根據(jù)不同的排序方式,所出的結(jié)果也是不同的。² 排序方式設(shè)置:set collate to 排序次序名排序次序名可以是machine、pinyin和stroke。Machine的原則是:空格<數(shù)字<大寫字母(其中A最?。?lt;小寫字母(其中a最小); (測(cè)asc碼函數(shù):asc(字符表達(dá)式),可測(cè)比如Aa的

14、asc碼為65和97)Pinyin的原則是:排在字母表后面的字母>排在前面的字母,若字母相同則大寫>小寫; Stroke的原則是:漢字的筆畫誰(shuí)多誰(shuí)大。² 字符串的精確比較與exact設(shè)置:=只有兩個(gè)字符串完全相同時(shí),運(yùn)算結(jié)果為邏輯真,否則為邏輯假。在=比較兩個(gè)字符串時(shí),運(yùn)算結(jié)果與set exact on/off有關(guān):off表示只要右邊字符串整體與左邊字符串的前面部分內(nèi)容相匹配,即可為真,否則為假;on則表示比較到兩個(gè)字符串全部結(jié)束,先到短的字符串尾部加空格,使兩個(gè)字符串的長(zhǎng)度相等,然后進(jìn)行比較,運(yùn)算結(jié)果的類型:邏輯型。作用是比較兩個(gè)表達(dá)式的大小。5)邏輯表達(dá)式定義:由邏輯

15、運(yùn)算符將邏輯型數(shù)據(jù)連接起來(lái)而形成的式子,格式為:關(guān)系式1 邏輯運(yùn)算符 關(guān)系式2。運(yùn)算符:not/! 邏輯非And 邏輯與Or 邏輯或其優(yōu)先級(jí)的順序是由高到低。運(yùn)算結(jié)果的類型:仍是邏輯型數(shù)據(jù)的式子,即邏輯表達(dá)式。注意:不同類型的運(yùn)算符之間的優(yōu)先級(jí)順序?yàn)椋合葓?zhí)行算術(shù)運(yùn)算符、字符串運(yùn)算符和日期時(shí)間運(yùn)算符,其次執(zhí)行關(guān)系運(yùn)算符,最后執(zhí)行邏輯運(yùn)算符。(五)常用函數(shù)1.定義:函數(shù)是用程序來(lái)實(shí)現(xiàn)的一種數(shù)據(jù)運(yùn)算或轉(zhuǎn)換,也就是預(yù)先定義好的程序段??捎腥舾蛇\(yùn)算對(duì)象,但只能有一個(gè)運(yùn)算結(jié)果,成為函數(shù)值或返回值。2.格式:函數(shù)名() 若括號(hào)內(nèi)有變量則為有參函數(shù),括號(hào)內(nèi)無(wú)變量則為無(wú)參函數(shù)。但無(wú)論怎樣,括號(hào)都不可省略。3.常

16、用函數(shù)的類型:1)數(shù)值函數(shù):自變量和函數(shù)值為數(shù)值的一類函數(shù)。8個(gè)& 求絕對(duì)值函數(shù)格式:abs(數(shù)值表達(dá)式)功能:返回指定數(shù)值表示的絕對(duì)值結(jié)果:為N型,且必然>=0& 求符號(hào)函數(shù)格式:sign(數(shù)值表達(dá)式)功能:返回指定數(shù)值表達(dá)式的符號(hào)結(jié)果:為N型,當(dāng)表達(dá)式的運(yùn)算結(jié)果為正、負(fù)和零時(shí),函數(shù)值分別為1、-1和0 & 求平方根函數(shù)格式:aqrt(數(shù)值表達(dá)式)功能:返回指定表達(dá)式的平方根,自變量表達(dá)式的值需>=0結(jié)果:為N型,且且必然>=0& 求圓周率函數(shù)格式:pi()功能:返回圓周率,該函數(shù)沒(méi)有自變量結(jié)果:為N型,即為3.14& 求整函數(shù)格式:

17、int(數(shù)值表達(dá)式) 只求整,不四舍五入ceiling(數(shù)值表達(dá)式)floor(數(shù)字表達(dá)式)功能:返回指定數(shù)值表達(dá)式的整數(shù)部分返回大于或等于指定數(shù)值表達(dá)式的最小整數(shù)返回小于或等于指定數(shù)值表達(dá)式的最大整數(shù)結(jié)果:N型& 四舍五入函數(shù)格式:round(數(shù)值表達(dá)式1,數(shù)值表達(dá)式2)功能:返回指定表達(dá)式在指定位置四舍五入的結(jié)果,數(shù)值表達(dá)式2指定四舍五入的位置。若數(shù)2>0,表示的是對(duì)數(shù)1要求的所保留的小數(shù)位數(shù);若數(shù)2=0,表示的是對(duì)數(shù)1取整數(shù),并四舍五入;若數(shù)2<0,表示的是對(duì)數(shù)1的整數(shù)位舍入的位數(shù),并四舍五入。結(jié)果:為N型& 求余函數(shù)格式:mod(數(shù)值表達(dá)式1,數(shù)值表達(dá)式2)

18、功能:返回兩個(gè)數(shù)值相除后的余數(shù)。數(shù)1是被除數(shù),數(shù)2是除數(shù)。其他原則與求余運(yùn)算符%的用法相同:被除數(shù)與除數(shù)都必須是整數(shù),除數(shù)不能為0。求余三原則表述如下:若c=a%b 做這種題的時(shí)候先算出c=a%b的值,然后c必須與a同號(hào)。還要注意的是:若a與b同號(hào),則當(dāng)前余數(shù)就是c若a與b異號(hào),則當(dāng)前余數(shù)結(jié)果是b+c結(jié)果:為N型注意:判定x是否能被i整除的方法有:mod(x,i)=0x%i=0int(x/i)= x/i& 求最大值和最小值函數(shù)格式:max/min(表達(dá)式1,表達(dá)式2表達(dá)式n) 其表達(dá)式的類型任意,但寫入括號(hào)內(nèi)的必須是同一類型的表達(dá)式。功能:計(jì)算各自變量表達(dá)式的值,并返回其中的最大值或最

19、小值結(jié)果:根據(jù)括號(hào)內(nèi)表達(dá)式的類型而定2)字符函數(shù):自變量一般是字符型數(shù)據(jù)的函數(shù)。10個(gè)& 求字符串長(zhǎng)度函數(shù)格式:len(字符表達(dá)式)功能:返回指定字符表達(dá)式值的長(zhǎng)度,即所包含的字符個(gè)數(shù)。結(jié)果:N型& 大小寫轉(zhuǎn)換函數(shù)格式:upper/lower(字符表達(dá)式)功能:將指定表達(dá)式中的小寫字母轉(zhuǎn)換成大寫字母或者將指定表達(dá)式中的大寫字母轉(zhuǎn)換成小寫字母,其他字符不變結(jié)果:C型& 空格字符串生成函數(shù)格式:space(數(shù)值表達(dá)式)功能:返回由指定數(shù)目的空格組成的字符串結(jié)果:C型& 刪除前后空格函數(shù)格式:trim(字符表達(dá)式)ltrim(字符表達(dá)式)alltrim(字符表達(dá)式)功

20、能:返回指定字符表達(dá)式值去掉尾部空格后形成的字符串返回指定字符表達(dá)式值去掉前導(dǎo)空格后形成的字符串返回指定字符表達(dá)式值去掉前導(dǎo)和尾部空格后形成的字符串結(jié)果:C型& 取子串函數(shù)格式:left(字符表達(dá)式,長(zhǎng)度)right(字符表達(dá)式,長(zhǎng)度)substr(字符表達(dá)式,起始位置,長(zhǎng)度)若缺省長(zhǎng)度,表示從指定位置一直取到最后一個(gè)字符功能:從指定表達(dá)式值的左端取一個(gè)指定長(zhǎng)度的字串作為函數(shù)值從指定表達(dá)式值的右端取一個(gè)指定長(zhǎng)度的字串作為函數(shù)值從指定表達(dá)式值的指定起始位置取一個(gè)指定長(zhǎng)度的字串作為函數(shù)值結(jié)果:C型& 計(jì)算子串出現(xiàn)次數(shù)函數(shù)格式:occurs(字符表達(dá)式1,字符表達(dá)式2)功能:返回第一

21、個(gè)字符串在第二個(gè)字符串中出現(xiàn)的次數(shù),若字符串1不是字符串2的字串,函數(shù)值為0結(jié)果:N型& 求子串位置函數(shù)格式:at(字符表達(dá)式1,字符表達(dá)式2,數(shù)值表達(dá)式) 區(qū)分大小寫atc(字符表達(dá)式1,字符表達(dá)式2,數(shù)值表達(dá)式)不區(qū)分大小寫功能:若字符表達(dá)式1是字符表達(dá)式2的字串,則返回字符表達(dá)式1值的首字母在字符表達(dá)式2值中的出現(xiàn)位置;若不是字串返回0;第三個(gè)變量數(shù)值表達(dá)式用于表明要在字符表達(dá)式2值中搜索字符表達(dá)式1值的第幾次出現(xiàn)的位置,數(shù)值表達(dá)式的默認(rèn)值是1。結(jié)果:N型& 子串替換函數(shù)格式:stuff(字符表達(dá)式1,起始位置,長(zhǎng)度,字符表達(dá)式2)功能:用字符表達(dá)式2的值替換字符表達(dá)式1

22、中由起始位置和長(zhǎng)度指明的一個(gè)子串,替換和被替換的字符個(gè)數(shù)不一定相等。如果長(zhǎng)度值是0,字符表達(dá)式2則插入由起始位置指定的字符前,如果長(zhǎng)度值是空串,那么字符表達(dá)式1中由起始位置和長(zhǎng)度指明的字串被刪去。 結(jié)果:C型& 字符替換函數(shù)格式:chrtran(字符表達(dá)式1,字符表達(dá)式2,字符表達(dá)式3)功能:當(dāng)字符表達(dá)式1中的一個(gè)或多個(gè)字符與字符表達(dá)式2中的某個(gè)字符相匹配時(shí),就用字符表達(dá)式3中的相同位置上的對(duì)應(yīng)字符替換這些字符。如果字符表達(dá)式3包含的字符個(gè)數(shù)少于字符表達(dá)式2包含的字符個(gè)數(shù),因?yàn)闆](méi)有對(duì)應(yīng)字符那么字符表達(dá)式1中相匹配的各個(gè)字符將被刪除;如果字符表達(dá)式3包含的字符個(gè)數(shù)多于字符表達(dá)式2包含的字

23、符個(gè)數(shù),多余字符被忽略。結(jié)果:C型& 字符串匹配函數(shù)格式:like(字符表達(dá)式1,字符表達(dá)式2)功能:比較兩個(gè)字符串對(duì)應(yīng)位置上的字符,若所有對(duì)應(yīng)字符都相匹配,函數(shù)值返回邏輯真,否則返回邏輯假;字符表達(dá)式1中可以包含通配符*和?,*可與任何數(shù)目的字符相匹配,?可以與任何單個(gè)字符相匹配。結(jié)果:L型3)日期和時(shí)間函數(shù):自變量一般是日期型或日期時(shí)間型數(shù)據(jù)的函數(shù)。& 系統(tǒng)日期、系統(tǒng)時(shí)間和系統(tǒng)日期時(shí)間函數(shù)格式:date()time()datetime()功能:返回當(dāng)前系統(tǒng)日期返回當(dāng)前系統(tǒng)時(shí)間返回當(dāng)前系統(tǒng)日期時(shí)間結(jié)果:D型C型T型& 求年份、月份和天數(shù)函數(shù)格式:year(日期表達(dá)式/

24、日期時(shí)間表達(dá)式)month(日期表達(dá)式/日期時(shí)間表達(dá)式)day(日期表達(dá)式/日期時(shí)間表達(dá)式)功能:從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回年份從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回月份從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回天數(shù)結(jié)果:N型& 求時(shí)、分、秒函數(shù)格式:hour(日期時(shí)間表達(dá)式)minute(日期時(shí)間表達(dá)式)sec(日期時(shí)間表達(dá)式)功能:從指定的日期時(shí)間表達(dá)式中返回小時(shí)部分(24小時(shí)制)從指定的日期時(shí)間表達(dá)式中返回分鐘部分從指定的日期時(shí)間表達(dá)式中返回秒數(shù)部分結(jié)果:N型4)數(shù)據(jù)類型轉(zhuǎn)換函數(shù):其功能就是將某一種類型的數(shù)據(jù)轉(zhuǎn)換成另一種類型的數(shù)據(jù)。5個(gè) & 數(shù)值轉(zhuǎn)換成字符串

25、格式:str(數(shù)值表達(dá)式,長(zhǎng)度,小數(shù)位數(shù))功能:將數(shù)值表達(dá)式的值轉(zhuǎn)換成字符串,需要時(shí)自動(dòng)四舍五入設(shè)數(shù)值表達(dá)式原長(zhǎng)度為m,指定長(zhǎng)度為n若n>m,返回結(jié)果自加前導(dǎo)空格若整數(shù)位<=n<=m,優(yōu)先取整數(shù)部分,再根據(jù)指定長(zhǎng)度中剩下的位數(shù)確定小數(shù)位,注意整數(shù)位中不包括小數(shù)點(diǎn)若n<整數(shù)位,返回結(jié)果為一串星號(hào)*,即不能正常轉(zhuǎn)換。注意:長(zhǎng)度的默認(rèn)值是10,小數(shù)位數(shù)的默認(rèn)值是0結(jié)果:C型& 字符串轉(zhuǎn)換成數(shù)值格式:val(字符表達(dá)式)功能:將由數(shù)字符號(hào)(包括正負(fù)號(hào)、小數(shù)點(diǎn))組成的字符型數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的數(shù)值型數(shù)據(jù)。若字符串內(nèi)出現(xiàn)非數(shù)字字符,那么只轉(zhuǎn)換前面部分;若字符串的首字符不是數(shù)字符

26、號(hào),則返回?cái)?shù)值零,但忽略前導(dǎo)空格。結(jié)果:N型& 字符串轉(zhuǎn)換成日期或日期時(shí)間格式:ctod(字符表達(dá)式)ctot(字符表達(dá)式)功能:將字符表達(dá)式的值轉(zhuǎn)換成日期型數(shù)據(jù)將字符表達(dá)式的值轉(zhuǎn)換成日期時(shí)間型數(shù)據(jù)結(jié)果:D型或T型& 日期或日期時(shí)間轉(zhuǎn)換成字符串格式:dtoc(日期表達(dá)式/日期時(shí)間表達(dá)式)/dtoc(日期表達(dá)式/日期時(shí)間表達(dá)式 ,1) ttoc(日期時(shí)間表達(dá)式)/ttoc(日期時(shí)間表達(dá)式 ,1)注意:,1表示去掉年月日之間的分隔符功能:將日期型數(shù)據(jù)或日期時(shí)間型數(shù)據(jù)的日期部分轉(zhuǎn)換成字符串將日期時(shí)間型數(shù)據(jù)轉(zhuǎn)換成字符串結(jié)果:C型,結(jié)果分別為8個(gè)和14個(gè)字符& 宏替換函數(shù)格式:&

27、amp;字符型變量.功能:替換出字符型變量的內(nèi)容,若該函數(shù)與其后的字符無(wú)明確分界,則用.作為函數(shù)結(jié)束標(biāo)識(shí)結(jié)果:由字符型變量的內(nèi)容決定5)測(cè)試函數(shù):主要用來(lái)測(cè)試當(dāng)前操作對(duì)象的狀態(tài)。11個(gè)& 值域測(cè)試函數(shù)格式:between(表達(dá)式1,表達(dá)式2,表達(dá)式3)功能:判斷表達(dá)式1的值是否在表達(dá)式2和表達(dá)式3的值之間,若表達(dá)式1的值大于等于表達(dá)式2的值并且小于等于表達(dá)式3的值,那么函數(shù)值為邏輯真,否則為邏輯假。若表達(dá)式2和表達(dá)式3的值中有一個(gè)是null值,那么函數(shù)值也為null值結(jié)果:L型或null值& null值測(cè)試函數(shù)格式:isnull(表達(dá)式)功能:判斷表達(dá)式的運(yùn)算結(jié)果是否為null

28、值,是則返回邏輯真,否則邏輯假結(jié)果:L型若表文件中不包含任何記錄則 函數(shù)返回邏輯真& 表文件尾測(cè)試函數(shù)格式:eof(工作區(qū)號(hào)/表別名)功能:測(cè)試指定表文件中的記錄指針是否指向文件尾,是則返回邏輯真,否則返回邏輯假 結(jié)果:L型注意:若缺省自變量則測(cè)試當(dāng)前表文件若表文件中不包含任何記錄則函數(shù)返回邏輯真& 記錄號(hào)測(cè)試函數(shù)格式:recno(工作區(qū)號(hào)/表別名)功能:測(cè)試指定表文件中當(dāng)前記錄指針?biāo)赣涗浀挠涗浱?hào)結(jié)果:N型注意:若缺省自變量則測(cè)試當(dāng)前表文件若指定工作區(qū)沒(méi)有打開(kāi)的表文件,函數(shù)值為0若bof()返回.t.即指針指向文件首,函數(shù)值為1若eof()返回.t.即指針指向文件尾,函數(shù)值為

29、總記錄+1& 記錄個(gè)數(shù)測(cè)試函數(shù)格式:reccount(工作區(qū)號(hào)/表別名)功能:返回指定表文件中的記錄個(gè)數(shù)結(jié)果:N型注意:若缺省自變量則測(cè)試當(dāng)前表文件若指定工作區(qū)沒(méi)有打開(kāi)的表文件,函數(shù)值為0& 條件測(cè)試函數(shù)格式:iif(邏輯表達(dá)式,表達(dá)式1,表達(dá)式2)功能:測(cè)試邏輯表達(dá)式的值,若為邏輯真,函數(shù)返回表達(dá)式1的值,若為邏輯假,函數(shù)返回表達(dá)式2的值結(jié)果:根據(jù)表達(dá)式1和表達(dá)式2的類型而定注意:表達(dá)式1和表達(dá)式2的類型不要求相同& 記錄刪除測(cè)試函數(shù)格式:deleted(工作區(qū)號(hào)/表別名)功能:測(cè)試指定的表文件中的當(dāng)前記錄是否有邏輯刪除標(biāo)記,有則返回邏輯真,沒(méi)有則返回邏輯假結(jié)果:L型

30、四、VF數(shù)據(jù)庫(kù)及其操作(一)數(shù)據(jù)庫(kù)及其相關(guān)操作1.概念:1)含義:數(shù)據(jù)庫(kù)是一個(gè)邏輯上的概念和手段,它通過(guò)一組系統(tǒng)文件將相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)表及其相關(guān)的數(shù)據(jù)庫(kù)對(duì)象統(tǒng)一組織和管理。2)擴(kuò)展名:.dbc。與之相關(guān)的會(huì)自動(dòng)建立.dct的數(shù)據(jù)庫(kù)備注文件和.dcx的數(shù)據(jù)庫(kù)索引文件。2.建立數(shù)據(jù)庫(kù)文件:3種方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡數(shù)據(jù)庫(kù)新建新建數(shù)據(jù)庫(kù)輸入數(shù)據(jù)庫(kù)文件名保存2)文件新建文件類型:數(shù)據(jù)庫(kù)輸入數(shù)據(jù)庫(kù)文件名保存3)create database 數(shù)據(jù)庫(kù)文件名(此命令輸入后數(shù)據(jù)庫(kù)文件已建立,但其數(shù)據(jù)庫(kù)設(shè)計(jì)器并未顯示,只需再輸入modify database 數(shù)據(jù)庫(kù)文件名即可顯示)3.打開(kāi)數(shù)據(jù)庫(kù)文件:

31、3種方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡選中相應(yīng)的數(shù)據(jù)庫(kù)打開(kāi)/關(guān)閉2)文件打開(kāi)文件類型:數(shù)據(jù)庫(kù)選中相應(yīng)的數(shù)據(jù)庫(kù)確定3)open database 數(shù)據(jù)庫(kù)文件名4.修改數(shù)據(jù)庫(kù)文件:3種方法即調(diào)用數(shù)據(jù)庫(kù)設(shè)計(jì)器1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至相應(yīng)的數(shù)據(jù)庫(kù)修改2)文件打開(kāi)文件類型:數(shù)據(jù)庫(kù)選中相應(yīng)的數(shù)據(jù)庫(kù)確定3)modify database 數(shù)據(jù)庫(kù)文件名(文件名存在是修改,不存在即為新建)5.關(guān)閉數(shù)據(jù)庫(kù)文件:2種方法1)close database 關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)(之后不加當(dāng)前庫(kù)文件名)2)close all 關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù)6.刪除數(shù)據(jù)庫(kù)文件:2種方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至

32、相應(yīng)的數(shù)據(jù)庫(kù)移去移去2)delete database 數(shù)據(jù)庫(kù)文件名注意:& 做題前切記設(shè)置好自己的存盤位置,未存至指定位置,不得分。& 項(xiàng)目、項(xiàng)目文件、項(xiàng)目管理器使用項(xiàng)目管理器時(shí),先要建立項(xiàng)目文件(.pjx)項(xiàng)目文件的建立方法:2種鼠標(biāo)法:文件新建文件類型:項(xiàng)目輸入項(xiàng)目文件名保存項(xiàng)目管理器 命令法:create/modify project 項(xiàng)目文件名項(xiàng)目是指文件、數(shù)據(jù)、文檔和vf對(duì)象的集合項(xiàng)目管理器是vf中處理數(shù)據(jù)和對(duì)象的主要組織工具,為系統(tǒng)開(kāi)發(fā)者提供了極為便利的工作平臺(tái);功能:組織和管理數(shù)據(jù)以及編譯。項(xiàng)目管理器各選項(xiàng)卡的具體內(nèi)容: 全部選項(xiàng)卡:數(shù)據(jù) 文檔 類 代碼 其他

33、數(shù)據(jù)選項(xiàng)卡:數(shù)據(jù)庫(kù) 自由表 查詢 文檔選項(xiàng)卡:表單 報(bào)表 標(biāo)簽 類選項(xiàng)卡:無(wú) 代碼選項(xiàng)卡:程序 API庫(kù)應(yīng)用程序 其選項(xiàng)卡他:菜單 文本文件 其他文件(二)數(shù)據(jù)庫(kù)表及其相關(guān)操作1.概念:數(shù)據(jù)庫(kù)表是數(shù)據(jù)的載體,擴(kuò)展名為.dbf。2.建立數(shù)據(jù)庫(kù)表:4種方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)相應(yīng)數(shù)據(jù)庫(kù)至表新建新建表輸入數(shù)據(jù)庫(kù)表文件名保存2)打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器擊右鍵/數(shù)據(jù)庫(kù)菜單新建表輸入數(shù)據(jù)庫(kù)表文件名保存3)文件新建文件類型:表輸入數(shù)據(jù)庫(kù)表文件名保存4)create 表名.dbf注意:建立數(shù)據(jù)庫(kù)表時(shí)窗口必須打開(kāi)相對(duì)應(yīng)的數(shù)據(jù)庫(kù)。3.打開(kāi)數(shù)據(jù)庫(kù)表:2種方法1)文件打開(kāi)文件類型:表選中相應(yīng)表確定2)use 表名

34、(有表名是打開(kāi)相應(yīng)表,無(wú)表名是關(guān)閉表)4.修改數(shù)據(jù)庫(kù)表:4中方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至相應(yīng)的表修改2)數(shù)據(jù)庫(kù)設(shè)計(jì)器選中相應(yīng)表?yè)粲益I/數(shù)據(jù)庫(kù)菜單修改3)選中相應(yīng)表顯示菜單表設(shè)計(jì)器修改即可4)modify structure5.刪除數(shù)據(jù)庫(kù)表:3種方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至相應(yīng)的表移去刪除2)數(shù)據(jù)庫(kù)設(shè)計(jì)器選中相應(yīng)表?yè)粲益I/數(shù)據(jù)庫(kù)菜單刪除/移去刪除3)drop table 數(shù)據(jù)庫(kù)表名6.表的瀏覽:4種方法1)打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至相應(yīng)的表瀏覽2)數(shù)據(jù)庫(kù)設(shè)計(jì)器選中相應(yīng)表?yè)粲益I/數(shù)據(jù)庫(kù)菜單瀏覽3)選中相應(yīng)的表顯示菜單瀏覽4)browse 表名(之前需用us

35、e 命令選定當(dāng)前表)7.向表追加記錄(都是追加在原有記錄之后)² append blank 在所有記錄后追加一條空白記錄,等價(jià)于表菜單-追加新記錄 ² append 在所有記錄后追加若干條新記錄8.向表插入記錄² insert 在當(dāng)前記錄之后插入若干條記錄² insert before 在當(dāng)前記錄之前插入若干條記錄² insert blank 在當(dāng)前記錄之后插入一條記錄² insert before blank 在當(dāng)前記錄之前插入一條記錄9.刪除表記錄邏輯刪除:只是在記錄旁作刪除標(biāo)記,必要時(shí)還可去掉刪除標(biāo)記恢復(fù)表記錄 ² d

36、elete 刪除表中當(dāng)前記錄² delete for 條件表達(dá)式 刪除表中滿足條件的所有記錄物理刪除:真正從表中刪除記錄² pack 將當(dāng)前表中具有邏輯刪除標(biāo)記的記錄物理刪除² zap 將當(dāng)前表中所有記錄物理刪除,無(wú)論是否由邏輯刪除標(biāo)記10.恢復(fù)表記錄² recall 恢復(fù)表中當(dāng)前記錄² recall all 恢復(fù)表中所有被刪記錄² recall for 條件表達(dá)式 恢復(fù)表中滿足條件的所有被刪記錄11.更新表記錄² replace all 字段名 with 表達(dá)式 把表中全部記錄的字段名更新為表達(dá)式的值 ² rep

37、lace 字段名 with 表達(dá)式 只把表中當(dāng)前記錄的字段名更新為表達(dá)式的值 ² replace 字段名 with 表達(dá)式 for 條件表達(dá)式 只把表中滿足條件的記錄的字段名更新為表達(dá)式的值12.顯示表記錄² list 默認(rèn)顯示當(dāng)前表中所有記錄² dispay 默認(rèn)顯示當(dāng)前表中當(dāng)前記錄² list/display 字段名1字段名n for 條件表達(dá)式 顯示表中滿足調(diào)價(jià)的記錄 ² list next n(n為正整數(shù)或負(fù)整數(shù))顯示從當(dāng)前記錄往后/往前算起的n條記錄13.查詢定位記錄² go n(此處n為記錄號(hào))將指針定位于第n條記錄,即記

38、錄號(hào)為n的記錄 ² go top 將指針定位于首記錄² go bottom 將指針定位于尾記錄² skip n(n為正整數(shù)或負(fù)整數(shù),默認(rèn)為1) 指針從當(dāng)前記錄向下/向上跳n² 條件定位:locate for 定位表達(dá)式 將指針定位于當(dāng)前表中滿足條件的第一條記錄上為了判斷指針?biāo)赶虻挠涗浭欠駶M足條件,可用found()函授測(cè)試,返回邏輯真值,表示滿足條件,并且還可通過(guò)continue命令繼續(xù)查找表中其他滿足條件的記錄。(三)自由表及其與數(shù)據(jù)庫(kù)表之間的轉(zhuǎn)換1.自由表:即不屬于任何數(shù)據(jù)庫(kù)的表。它的建立方法與數(shù)據(jù)庫(kù)表的方法相同,但是窗口必須要沒(méi)有打開(kāi)的數(shù)據(jù)庫(kù)。2

39、.自由表與數(shù)據(jù)庫(kù)表之間的轉(zhuǎn)換1)將自由表添加到數(shù)據(jù)庫(kù)中 打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至表添加選中自由表確定 打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器擊右鍵/數(shù)據(jù)庫(kù)菜單添加表選中自由表確定 add table 自由表名2)從數(shù)據(jù)庫(kù)中移為自由表 打開(kāi)項(xiàng)目管理器數(shù)據(jù)選項(xiàng)卡展開(kāi)數(shù)據(jù)庫(kù)至表移去移去 打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器擊右鍵(刪除)/數(shù)據(jù)庫(kù)菜單(移去)移去 remove table 自由表名(四)索引及其相關(guān)操作1.概念:索引是由指針構(gòu)成的文件,這些指針邏輯上按照索引關(guān)鍵字值進(jìn)行排序,創(chuàng)建一個(gè)指向(.dbf)文件記錄的由指針構(gòu)成的文件,新創(chuàng)建的索引文件和.dbf文件分別存儲(chǔ),并不改變?cè)碇杏涗浀奈锢眄樞颉?.作用:可加速對(duì)表

40、的查詢操作。3.分類:1)主索引:建立主索引的字段值不允許重復(fù),一個(gè)表只能有一個(gè)主關(guān)鍵字,所以一個(gè)表只能創(chuàng)建一個(gè)主索引,自由表不能建立主索引。2)候選索引:也要求建立候選索引的字段值不允許重復(fù),一個(gè)表可建多個(gè)候選索引,自由表也可建立候選索引。3)唯一索引:為分類排序,建立唯一索引的字段值可以重復(fù),它以指定字段的首次出現(xiàn)值為基礎(chǔ),選定一組記錄并對(duì)記錄進(jìn)行分類且排序,一個(gè)數(shù)據(jù)庫(kù)表或自由表中可建多個(gè)唯一索引。4)普通索引:建立普通索引的字段值可以重復(fù),并且索引項(xiàng)中也允許出現(xiàn)重復(fù)值,系統(tǒng)默認(rèn)為普通索引。一個(gè)數(shù)據(jù)庫(kù)表或自由表可建多個(gè)普通索引。4.索引的建立:2種方法1)用鼠標(biāo)在表設(shè)計(jì)器進(jìn)行,方法如下:打

41、開(kāi)表設(shè)計(jì)器字段選項(xiàng)卡選中相應(yīng)字段名選擇升/降序索引選項(xiàng)卡選擇索引類別確定2)通過(guò)命令建立,格式如下:index on 字段名 to 單獨(dú)索引文件名/tag 索引項(xiàng)名 asce(默認(rèn)升序,可省略不寫)/desc(降序) unique(唯一索引)/candidate(候選索引)注意:to 單獨(dú)索引文件名建立的是單獨(dú)索引文件,它的擴(kuò)展名是(.idx),一般只在建立臨時(shí)索引時(shí)才可使用,其中只有一個(gè)排序,并且只能建立唯一索引或普遍索引。 tag索引項(xiàng)名短語(yǔ)是建立結(jié)構(gòu)符合索引,即多個(gè)索引可建立在一個(gè)索引文件中,其文件名與相關(guān)的表同名,并且有.cdx為擴(kuò)展名,其中包含多個(gè)排序。5.索引的使用1)打開(kāi)索引文件

42、:set index to 結(jié)構(gòu)復(fù)合索引文件名.cdxset index to 單獨(dú)索引文件名.idx2)在使用一個(gè)特定的索引項(xiàng)進(jìn)行查詢顯示時(shí),必須指定當(dāng)前索引項(xiàng):set order to 索引項(xiàng)名/序列號(hào)3)使用索引快速定位:seek 字段值 order 索引項(xiàng)名/序列號(hào)作用:根據(jù)某個(gè)索引項(xiàng)將指針快速定位于相關(guān)字段值的第一條記錄4)刪除索引:delete tag 索引項(xiàng)名 刪除指定索引delete tag all 刪除當(dāng)前表中所有索引(五)數(shù)據(jù)完整性1.概念:是保證數(shù)據(jù)正確的特性,一般包括實(shí)體完整性、域完整性和參照完整性等。2.實(shí)體完整性1)概念:是保證表中記錄唯一的特性,即在一個(gè)表中不允許

43、有重復(fù)的記錄。2)實(shí)現(xiàn)方法:在vf中利用主關(guān)鍵字(主索引)或候選關(guān)鍵字(候選索引)來(lái)保證表中記錄的唯一性。3.域完整性1)概念:即字段有效性,是字段值的取值范圍。只有數(shù)據(jù)庫(kù)表中才可建立域完整性。2)域約束規(guī)則:也稱為字段有效性規(guī)則,即通過(guò)對(duì)字段類型、字段寬度或定義的取值范圍來(lái)對(duì)輸入數(shù)據(jù)進(jìn)行正確性檢驗(yàn)。3)建立方法:打開(kāi)表設(shè)計(jì)器選中相應(yīng)的字段編輯其約束性規(guī)則確定編輯其約束性規(guī)則時(shí)的要求:規(guī)則:邏輯表達(dá)式確定字段值取值范圍信息:字符串表達(dá)式若違背上述規(guī)則時(shí)窗口的提示信息alter table 表名 alter 字段名 set/drop check(規(guī)則)邏輯式 error(信息)字符表達(dá)式默認(rèn)值:

44、所寫數(shù)據(jù)類型由字段類型決定alter table 表名 alter 字段名 set/drop default(默認(rèn)值)默認(rèn)值的值4.參照完整性1)含義:當(dāng)插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過(guò)參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),來(lái)檢驗(yàn)對(duì)表的數(shù)據(jù)操作是否正確。2)三原則:插入原則、刪除原則和修改原則3)建立和編輯參照完整性原則的方法:3步² 建立表之間的聯(lián)系(兩表必須在同一數(shù)據(jù)庫(kù)中)打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器父表建立主索引,字表建立普通索引建立相應(yīng)表之間的聯(lián)系(鼠標(biāo)從主索引拖拽至普通索引即可,表之間會(huì)生成一條細(xì)實(shí)線,右擊可刪除聯(lián)系)² 清理數(shù)據(jù)庫(kù)(即指物理刪除數(shù)據(jù)庫(kù)中各個(gè)表中所有帶有刪

45、除標(biāo)記的記錄,相當(dāng)于pack)打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器數(shù)據(jù)庫(kù)菜單清理數(shù)據(jù)庫(kù)(若清除未成功,則close all,然后再以獨(dú)占方式打開(kāi)數(shù)據(jù)庫(kù)重新清理即可)² 設(shè)置參照完整性原則打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器擊右鍵/編輯參照完整性規(guī)則更新規(guī)則規(guī)定了當(dāng)更新父表中連接字段(主關(guān)鍵字)值時(shí),如何處理相關(guān)的子表中的記錄: 級(jí)聯(lián)則用新的連接字段值自動(dòng)修改子表中的相關(guān)所有記錄;限制若子表中有相關(guān)記錄,則禁止修改父表中的連接字段值;忽略則不作參照完整性檢查,可以隨意更新父表中的連接字段值。刪除規(guī)則規(guī)定了當(dāng)刪除父表中記錄時(shí),如何處理子表相關(guān)的記錄:級(jí)聯(lián)則自動(dòng)刪除子表中相關(guān)所有記錄;限制若子表中有相關(guān)的記錄,則禁止刪除父表中的

46、記錄;忽略則不作參照完整性檢查,即刪除父表的記錄時(shí)與子表無(wú)關(guān)。插入規(guī)則規(guī)定了當(dāng)插入子表中的記錄時(shí),是否進(jìn)行參照完整性檢查:限制若父表中沒(méi)有匹配的連接字段值則禁止插入子表記錄;忽略則不作參照完整性檢查,即可以隨意插入子表記錄。(六)多個(gè)表的同時(shí)使用與建立表之間的臨時(shí)關(guān)聯(lián)1.多個(gè)表的同時(shí)使用1)vf中共有32767個(gè)工作區(qū),每一個(gè)工作區(qū)只能打開(kāi)一張表;若需在同一時(shí)刻打開(kāi)多個(gè)表,則只需在不同的工作區(qū)中打開(kāi)不同的表。2)指定工作區(qū)的命令格式:格式一:select 工作區(qū)號(hào)(1-32767)/系統(tǒng)別名(a-j,w11-w32767)/0(即選定當(dāng)前最小工作區(qū))注意:此格式最后一次所選工作區(qū)為當(dāng)前工作區(qū)格

47、式二:use 表名 in 工作區(qū)號(hào)/系統(tǒng)別名/0注意:此格式第一次所選工作區(qū)為當(dāng)前工作區(qū)3)測(cè)試當(dāng)前工作區(qū)號(hào)的函數(shù):selected()2.建立表之間的臨時(shí)關(guān)聯(lián)1)含義:永久聯(lián)系是指基于索引建立的表之間的關(guān)聯(lián),顯示為表索引之間的細(xì)實(shí)線,每次使用時(shí)不需重新建立,但它不能控制工作區(qū)中記錄指針的聯(lián)動(dòng)。臨時(shí)關(guān)聯(lián):能夠控制表之間記錄指針關(guān)系的臨時(shí)聯(lián)系(父動(dòng)子動(dòng))。2)建立方法:² 分工作區(qū)打開(kāi)相應(yīng)表² 分別為不同工作區(qū)的表中的外部關(guān)鍵字建立索引(普通索引)² 建立臨時(shí)關(guān)聯(lián)命令格式為:set relation to 索引關(guān)鍵字(外部關(guān)鍵字)into工作區(qū)號(hào)/系統(tǒng)別名/表名 注

48、意:當(dāng)前工作區(qū)的表為父表。而into 短語(yǔ)后的工作區(qū)中的表為子表。3)解除臨時(shí)聯(lián)系:set relation to 取消當(dāng)前記錄到所有表的臨時(shí)關(guān)聯(lián);set relation off into工作區(qū)號(hào)/系統(tǒng)別名/表名 取消某個(gè)具體的臨時(shí)聯(lián)系。五、關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL(一)SQL概述1.SQL的基本概況1)含義:SQL是structured query languge的縮寫,它是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)數(shù)據(jù)語(yǔ)言,所有的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持。2)功能:數(shù)據(jù)查詢、數(shù)據(jù)操作和數(shù)據(jù)定義2.特點(diǎn)1)一體化:包括數(shù)據(jù)定義、查詢和操作等方面功能,可以完成數(shù)據(jù)庫(kù)活動(dòng)中的全部工作;2)高度非過(guò)程化:只需告訴計(jì)算機(jī)用

49、戶做什么,SQL便可自動(dòng)完成全部工作;3)非常簡(jiǎn)潔:只有為數(shù)不多的幾條命令組成;4)它可以直接以命令方式使用,也可以嵌入到程序設(shè)計(jì)語(yǔ)言中以程序方式使用。3.主要短語(yǔ)及其含義1)select-說(shuō)明要查詢的數(shù)據(jù)2)from-說(shuō)明查詢的數(shù)據(jù)來(lái)自哪些表,可對(duì)單表或多表進(jìn)行查詢3)where-說(shuō)明查詢條件,即選擇元組的條件4)group by-用于對(duì)查詢進(jìn)行分組,可用它對(duì)數(shù)據(jù)進(jìn)行分組匯總5)having-必須跟group by短語(yǔ)一起使用,用來(lái)限定分組必須滿足的條件6)order by-用來(lái)對(duì)查詢的結(jié)果進(jìn)行排序(二)SQL的查詢功能1.簡(jiǎn)單查詢1)適用范圍:即單表查詢,查詢的字段信息和查詢條件都來(lái)自于同

50、一張表2)語(yǔ)法格式:select 字段名1,字段名n from 表名 where 條件式3)查詢細(xì)節(jié):ü distinct 去掉查詢結(jié)果中的重復(fù)值ü 若查詢某張表的全部字段,則可把select后的字段名全部用通配符*代替即可ü union并運(yùn)算可把兩個(gè)select語(yǔ)句的查詢結(jié)果合并成一個(gè)查詢結(jié)果(要求是兩個(gè)查詢結(jié)果要具有相同的字段個(gè)數(shù),并且對(duì)應(yīng)字段的值要出自同一個(gè)值域,即具有相同的數(shù)據(jù)類型和取值范圍)ü 查詢?nèi)ハ颍篿nto array 數(shù)組名將查詢結(jié)果存放于數(shù)組中into cursor 臨時(shí)表文件名將查詢結(jié)果存放于臨時(shí)只讀文件,關(guān)閉時(shí)自動(dòng)刪除 into

51、dbf/table 自由表文件名將查詢結(jié)果存放于永久表中to file 文本文件名將查詢結(jié)果存放于文本文件中2.簡(jiǎn)單的聯(lián)接查詢1)適用范圍:查詢的字段信息或條件來(lái)自于多張表2)語(yǔ)法格式:select 字段名1,字段名n from 表名1,表名n where 聯(lián)接條件 and 其他條件3.嵌套查詢1)適用范圍:查詢的字段信息出自于同一張表,而查詢條件出自于其他表2)語(yǔ)法格式:select 字段名1,字段名n from 表名1 where 外部關(guān)鍵字 in (select 外部關(guān)鍵字 from 表名2 where 條件)3)查詢細(xì)節(jié):ü 幾個(gè)特殊的運(yùn)算符:betweenand用于查詢滿足

52、某個(gè)值域范圍內(nèi)的記錄;like用于查詢與指定字段值相匹配的記錄(like后所指定的字段值一定是個(gè)字符型數(shù)據(jù);通配符%表示0個(gè)或多個(gè)字符,_”只表示一個(gè)字符)ü 排序:order by 字段名1 asce/desc,字段名n asce/desc注意:系統(tǒng)默認(rèn)升序,asce可省略,允許按一個(gè)或多個(gè)字段對(duì)查詢結(jié)果排序ü 簡(jiǎn)單計(jì)算查詢:count()-計(jì)數(shù) sum()-求和,所指字段是N型 avg()-求平均數(shù),所指字段是N型 max()-求最大值,所指字段是N型min()-求最小值,所指字段是N型ü 分組與計(jì)算查詢:group by 字段名1,字段名n having 條

53、件表達(dá)式 (注意:having必須和group by一起使用,因?yàn)樗菍?duì)分組后的結(jié)果進(jìn)一步進(jìn)行篩選,having條件和where條件不矛盾,在select語(yǔ)句查詢中是先用where子句限定元組,然后進(jìn)行分組,最后再用having子句限定分組結(jié)果)ü 利用空值查詢:is null/is not nullü 內(nèi)外層互相嵌套查詢:內(nèi)層查詢的條件需要外層查詢提供值,而外層查詢的條件需要內(nèi)層查詢的結(jié)果ü 使用量詞和謂詞的查詢:表達(dá)式 運(yùn)算符 any/some/all(select子查詢)其中any和some表任意一個(gè),all表示全部not exists(select子查詢)

54、exists表示存在ü 虛字段:即原表中并無(wú)此字段,是通過(guò)函數(shù)或者表達(dá)式計(jì)算所得出的字段名;其格式為:表達(dá)式/函數(shù) as 虛字段名ü 顯示部分結(jié)果:top 表達(dá)式 percent order by 字段名1,字段名n注意:不使用percent時(shí),在1-32767之間取值,說(shuō)明顯示前幾條記錄使用percent時(shí),則在0.01-99.99之間取值,說(shuō)明顯示前百分之幾的記錄并且top短語(yǔ)要與order by短語(yǔ)同時(shí)使用才有效4.內(nèi)聯(lián)接查詢:超級(jí)聯(lián)接查詢的一種1)適用范圍:查詢的字段名或查詢條件來(lái)自于多張表2)語(yǔ)法格式:select 字段名1,字段名n from 表名1 inner

55、 join 表名2 on 聯(lián)接條件 where 條件(三)SQL的操作功能1.插入功能1)標(biāo)準(zhǔn)格式:insert into 表名(字段名1,字段名n)values(字段值1,字段值n) 注意:此命令格式表示向表中插入記錄,當(dāng)插入的不是完整的記錄時(shí)必須指明字段2)特殊格式:insert into 表名 from array 數(shù)組名注意:此命令格式表示從指定的數(shù)組向表中插入記錄2.更新功能1)格式:update 表名 set 字段名1=表達(dá)式1,字段名n=表達(dá)式n where 條件式 注意:使用where表示更新滿足條件的記錄,不使用where則更新全部記錄2)注意update命令與replace

56、命令的區(qū)別:² update可對(duì)一表和多表操作,replace只能對(duì)當(dāng)前一表操作² update用where接條件表達(dá)式,replace用for接條件表達(dá)式² update用=接表達(dá)式,replace用with接表達(dá)式² update用set接字段名,replace的字段名前不加set² update不用where子句就可更新全部記錄,replace有all無(wú)for條件才是更新全部記錄3.刪除功能1)格式:delete from 表名 where 條件注意:此命令表示邏輯刪除表中相應(yīng)的記錄,有where條件時(shí)表示邏輯刪除表中滿足條件的記錄2)本格式可用于一表與多表,而delete for條件則只可用于當(dāng)前表(四)SQL的定義功能1.表的定義,即建立表1)格式:create table 表名(字段名1 字段類型(寬度),字段名n 字段類型(寬度)2)注意:2.表的刪除1)格式:drop table 表文件名2)注意:3.表結(jié)構(gòu)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論