Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程第三版課件第3章 數(shù)據(jù)表的基本操作_第1頁
Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程第三版課件第3章 數(shù)據(jù)表的基本操作_第2頁
Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程第三版課件第3章 數(shù)據(jù)表的基本操作_第3頁
Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程第三版課件第3章 數(shù)據(jù)表的基本操作_第4頁
Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程第三版課件第3章 數(shù)據(jù)表的基本操作_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2023年12月18日第1頁第3章數(shù)據(jù)表的基本操作3.1數(shù)據(jù)表概述3.2創(chuàng)建新表3.3瀏覽和編輯表中信息3.4表的索引與排序3.5表的數(shù)值計(jì)算3.6多表的操作3.7用命令對(duì)表進(jìn)行操作簡介本章小結(jié)習(xí)題32023年12月18日第2頁本章要點(diǎn)數(shù)據(jù)表概述,數(shù)據(jù)類型、表結(jié)構(gòu)的創(chuàng)建、修改與顯示,表記錄的顯示、追加、修改與刪除等基本操作。表的索引與排序、數(shù)據(jù)計(jì)算、多表的操作等。2023年12月18日第3頁3.1數(shù)據(jù)表概述3.1.1表的相關(guān)概念表以記錄和字段的形式存儲(chǔ)數(shù)據(jù),是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的基本結(jié)構(gòu),是處理數(shù)據(jù)和建立關(guān)系型數(shù)據(jù)庫及應(yīng)用程序的基本單元。在日常的工作、生活中,遇到大量的數(shù)據(jù)有很多都是以表格形式出現(xiàn)的,下面的表格就是學(xué)生登記表中的一部分。這是一個(gè)簡單的二維表格。實(shí)際上,這個(gè)二維表格就是VisualFoxPro中的“表”。表存儲(chǔ)有關(guān)某個(gè)主題(如學(xué)生的基本情況)的信息。如表3-1所示,表中按列存放該主題不同種類的信息(如學(xué)生學(xué)號(hào)、姓名等),按行描述該主題“某一實(shí)例”的全部信息(特定學(xué)生的數(shù)據(jù))。表中的每一行稱為一條記錄,而每一列稱為一個(gè)字段。2023年12月18日第4頁表3-1學(xué)生登記表學(xué)號(hào)姓名院系性別生年月日英語計(jì)算機(jī)獎(jiǎng)學(xué)金黨員否備注98402017陳超群文學(xué)院男1979-12-1849.052.048.5F98404062曲歌西語學(xué)院男1980-10-161.067.055.5F97410025劉鐵男法學(xué)院男1978-12-1064.067.060.5F98402019王艷文學(xué)院女1980-1-1952.078.053.5F98410012李俠法學(xué)院女1980-7-763.078.058.5F98402021趙勇文學(xué)院男1979-11-1170.075.055.5T98402006彭德強(qiáng)文學(xué)院男1979-9-170.078.063.5F98410101畢紅霞法學(xué)院女1979-11-1679.067.058.5F2023年12月18日第5頁表的第一行稱為表頭,表頭中每列的值是這個(gè)字段的名稱,稱為字段名。表有以下特征:(1)表可存儲(chǔ)若干條記錄。(2)每條記錄可以有若干個(gè)字段,而且每條記錄的字段結(jié)構(gòu)相同,也就是具有相同的字段名、字段類型和字段順序。(3)字段可以是不同的類型,以便存儲(chǔ)不同類型的數(shù)據(jù)。(4)記錄中每個(gè)字段的順序與存儲(chǔ)的數(shù)據(jù)無關(guān)。(5)每條記錄在表中的順序與存儲(chǔ)的數(shù)據(jù)無關(guān)。2023年12月18日第6頁3.1.2表中的數(shù)據(jù)類型字符型:用于包含字母、漢字、數(shù)字型文本、符號(hào)及標(biāo)點(diǎn)等一種或幾種的字段,其中的數(shù)字一般不是用來進(jìn)行數(shù)學(xué)計(jì)算的,如電話號(hào)碼、姓名、地址。貨幣型:貨幣單位,最多可有4位小數(shù),如果小數(shù)部分超過4位則將通過四舍五入只保留4位,如商品價(jià)格。數(shù)值型:整數(shù)或小數(shù)。如成績、工資、訂貨數(shù)量。如果有小數(shù),需要指定小數(shù)位數(shù),小數(shù)點(diǎn)包含在字段寬度中,占一個(gè)字節(jié)。它還支持十六進(jìn)制數(shù)值。整型:不帶小數(shù)點(diǎn)的數(shù)值。2023年12月18日第7頁日期型:用來存放日期數(shù)值,VisualFoxPro6.0/5.0支持2000年型的日期數(shù)值。格式為:月/日/年。如輸入07/01/97。其中的年份如果輸入97,則系統(tǒng)默認(rèn)為1997,將光標(biāo)條移到表中該字段時(shí)就會(huì)顯示“07/01/1997”,如果輸入小于48的數(shù)(如45)則系統(tǒng)默認(rèn)為2045,因此,最好輸入完整的年份。日期時(shí)間型:格式為月/日/年時(shí):分:秒AM或PM。如12/1/9806:26:00AM。雙精度型:雙精度數(shù)值,如所要求的一些高精度數(shù)據(jù)。邏輯型:當(dāng)存儲(chǔ)的數(shù)據(jù)只有兩種可能時(shí)使用,用True(.T.)和False(.F.)表示。如團(tuán)員(.T.)與非團(tuán)員(.F.)、已婚(.T.)與未婚(.F.)。2023年12月18日第8頁備注型:又稱內(nèi)存型,它的數(shù)據(jù)存儲(chǔ)和表中其他數(shù)據(jù)是分開的,存放在擴(kuò)展名為.FPT的文件中。如個(gè)人簡歷等。通用型:可以鏈接或嵌入OLE對(duì)象,如由其他應(yīng)用程序創(chuàng)建的電子表格、WORD文檔、圖片。當(dāng)鏈接OLE對(duì)象時(shí),表中只包含指向數(shù)據(jù)的鏈接和創(chuàng)建OLE對(duì)象的應(yīng)用程序的鏈接;當(dāng)嵌入OLE對(duì)象時(shí),表中包含OLE對(duì)象復(fù)件及指向創(chuàng)建此OLE對(duì)象應(yīng)用程序的鏈接。如照片、圖像等。2023年12月18日第9頁3.2創(chuàng)建新表在VisualFoxPro6.0中,可按如下兩個(gè)步驟創(chuàng)建一個(gè)新表。步驟一:創(chuàng)建表的結(jié)構(gòu)。即說明表包含哪些字段,每個(gè)字段的長度及數(shù)據(jù)類型。步驟二:向表中輸入記錄。即向表中輸入數(shù)據(jù)。2023年12月18日第10頁3.2.1設(shè)計(jì)表結(jié)構(gòu)一個(gè)表中的所有字段組成了表的結(jié)構(gòu)。在建表之前應(yīng)先設(shè)計(jì)字段屬性。字段的基本屬性包括了字段的名稱、類型、寬度、小數(shù)位數(shù)以及是否允許為空。(1)字段名:表中的每個(gè)字段都是有名稱的,如“學(xué)生”表中的“學(xué)號(hào)”字段,“學(xué)號(hào)”即為這個(gè)字段的字段名。字段名可以是以字母開頭的字母數(shù)字串,也可以是漢字。自由表中的字段名不能超過10個(gè)字符,數(shù)據(jù)庫表字段名長度不能超過128個(gè)字符。字段名中不接受空格字符。2023年12月18日第11頁(2)字段類型:字段的數(shù)據(jù)類型應(yīng)與存儲(chǔ)其中的信息類型相匹配。(3)字段寬度:設(shè)置以字符為單位的列寬。設(shè)置的列寬應(yīng)保證能夠存放所需的字段,但也不必設(shè)置的太寬,否則將占用大量內(nèi)存。(4)小數(shù)位數(shù):當(dāng)字段類型為數(shù)值型和浮點(diǎn)型時(shí),應(yīng)為其設(shè)置小數(shù)位數(shù)。(5)是否允許為空:是否允許字段接受NULL值。NULL值就是無明確的值。NULL值不等同于零或空格。一個(gè)NULL值不能認(rèn)為比某個(gè)值(包括另一個(gè)NULL值)大或小、相等或不等。2023年12月18日第12頁3.2.2通過表設(shè)計(jì)器創(chuàng)建新表1.創(chuàng)建表結(jié)構(gòu)操作步驟如下:(1)從“文件”菜單中選擇“新建”命令,打開“新建”對(duì)話框。選擇“表”單選按鈕。(2)單擊“新建文件”按鈕,打開“創(chuàng)建”對(duì)話框。(3)在“創(chuàng)建”對(duì)話框中,可以確定表的類型、名稱和保存位置,其中表的類型為(表/DBF)。在“輸入表名”中輸入要建的表名,如“xsdb”,單擊“保存”按鈕,即出現(xiàn)“表設(shè)計(jì)器”對(duì)話框。(4)定義“xsdb”表的字段。2023年12月18日第13頁3.2.3通過表向?qū)?chuàng)建新表表向?qū)峁┝艘粋€(gè)交互式界面,由一系列對(duì)話框組成。表向?qū)荲isualFoxPro6.0眾多向?qū)е械囊粋€(gè),它能夠基于典型的表結(jié)構(gòu)創(chuàng)建表。在有樣表可供利用的條件下,可以使用表向?qū)矶x表結(jié)構(gòu)。表向?qū)г试S用戶從樣表中選擇滿足需要的字段,也允許用戶在執(zhí)行向?qū)У倪^程中修改表的結(jié)構(gòu)和字段。利用表向?qū)П3稚傻谋碇?,用戶仍可啟?dòng)表設(shè)計(jì)器來進(jìn)一步修改表。2023年12月18日第14頁1.打開“表向?qū)А?.選擇樣表3.選擇字段4.是否加入數(shù)據(jù)庫5.修改字段6.設(shè)置表索引和表間關(guān)系7.完成表結(jié)構(gòu)的創(chuàng)建2023年12月18日第15頁3.2.4輸入記錄與瀏覽表中的信息1.在創(chuàng)建表時(shí)輸入2.在表創(chuàng)建好以后輸入(1)打開瀏覽或編輯窗口(2)輸入備注型和通用型字段2023年12月18日第16頁3.3瀏覽和編輯表中信息3.3.1修改已有表的結(jié)構(gòu)1.打開表及“表設(shè)計(jì)器”2.表設(shè)計(jì)器中的“表”選項(xiàng)卡3.在表中增加字段4.刪除表中的字段5.改變字段順序2023年12月18日第17頁3.3.2添加新記錄3.3.3刪除記錄3.3.4在表中移動(dòng)記錄指針3.3.5定制瀏覽窗口1.變列寬和行高2.調(diào)整字段順序3.打開或關(guān)閉網(wǎng)格線4.拆分瀏覽窗口2023年12月18日第18頁3.4表的索引與排序VisualFoxPro中的索引和書中的索引類似。書中的索引是一份頁碼的列表,指向書中的頁號(hào)。表索引是一個(gè)記錄號(hào)的列表,它存儲(chǔ)了一組記錄指針指向待處理的記錄,并確定了記錄的處理順序。索引并不改變表中所存儲(chǔ)數(shù)據(jù)的順序,它只改變了VisualFoxPro讀取每條記錄的順序。對(duì)于已經(jīng)建好的表,索引可以幫助用戶對(duì)其中的數(shù)據(jù)進(jìn)行排序,以便加速檢索數(shù)據(jù)的速度;可以快速顯示、查詢或者打印記錄;還可以選擇記錄、控制重復(fù)字段值的輸入并支持表間的關(guān)系操作。2023年12月18日第19頁3.4.1索引的類型索引有4種類型:主索引:可確保字段中輸入值的唯一性并決定了處理記錄的順序??梢詾閿?shù)據(jù)庫中的每一個(gè)表建立一個(gè)主索引。如果某個(gè)表已經(jīng)有了一個(gè)主索引,可以繼續(xù)添加候選索引。候選索引:像主索引一樣要求字段值的唯一性并決定了處理記錄的順序。在數(shù)據(jù)庫表和自由表中均可為每個(gè)表建立多個(gè)候選索引。普通索引:也可以決定記錄的處理順序,但是允許字段中出現(xiàn)重復(fù)值。在一個(gè)表中可以加入多個(gè)普通索引。唯一索引:為了保持同早期版本的兼容性,還可以建立一個(gè)唯一索引,以指定字段的首次出現(xiàn)值為基礎(chǔ),選定一組記錄,并對(duì)記錄進(jìn)行排序。2023年12月18日第20頁3.4.2各種類型索引的使用通過建立和使用索引,可以提高完成某些重復(fù)性任務(wù)的工作效率,例如,對(duì)表中的記錄排序,以及建立表之間的關(guān)系等。根據(jù)所建索引類型的不同,可以完成不同的任務(wù),如表3-3所示。2023年12月18日第21頁表3-3各類型索引的使用使用的索引完成的任務(wù)使用普通索引、候選索引或主索引排序記錄,以便提高顯示、查詢或打印的速度對(duì)數(shù)據(jù)庫表使用主索引或候選索引,對(duì)自由表使用候選索引在字段中控制重復(fù)值的輸入并對(duì)記錄排序2023年12月18日第22頁注意:對(duì)自由表只能建立候選索引。對(duì)數(shù)據(jù)庫表可以建立主索引或候選索引,并且對(duì)一個(gè)數(shù)據(jù)庫表,主索引只能建一個(gè),候選索引可以建多個(gè)。3.4.3用多個(gè)字段進(jìn)行索引3.4.4排序前面介紹的是利用索引進(jìn)行邏輯排序,也可以利用SORT命令進(jìn)行物理排序。1.命令格式:SORTTO<新表文件名>ON<字段名>[ASC/DESC][FOR<條件>]2.舉例USEXSDBSORTTONPXON院系FOR性別=''男'‘對(duì)所有的男同學(xué)按院系的升序排序生成一個(gè)新的表NPX.DBF,排序后并不改變?cè)鞽SDB的順序。2023年12月18日第23頁3.5表的數(shù)值計(jì)算3.5.1縱向求和SUM1.命令格式SUM[<數(shù)字型字段名>[TO<內(nèi)存變量名表>][<范圍>][FOR<條件>]]2.命令功能在當(dāng)前表中,凡是在指定范圍內(nèi)指定條件的記錄,可計(jì)算指定的數(shù)值型字段的代數(shù)和,并分別將計(jì)算結(jié)果依次存入指定的內(nèi)存變量中。2023年12月18日第24頁3.5.2縱向求平均值A(chǔ)VERAGE1.命令格式AVERAGE[<數(shù)字型字段名>[TO<內(nèi)存變量名表>][<范圍>][FOR<條件>]]2.命令功能在當(dāng)前表中,凡是在指定范圍內(nèi)指定條件的記錄,可計(jì)算指定的數(shù)值型字段的平均值,并分別將計(jì)算結(jié)果依次存入指定的內(nèi)存變量。2023年12月18日第25頁3.5.3統(tǒng)計(jì)記錄數(shù)COUNT1.命令格式COUNT[TO<內(nèi)存變量名>[<范圍>][FOR<條件>]]2.命令功能統(tǒng)計(jì)當(dāng)前表中,指定范圍內(nèi)符合指定條件的記錄個(gè)數(shù)。2023年12月18日第26頁3.6多表的操作3.6.1工作區(qū)的概念1.工作區(qū)號(hào)與別名為了能夠同時(shí)使用多個(gè)表,引入了工作區(qū)的概念。VisualFoxPro6.0提供了多達(dá)32767個(gè)工作區(qū),每個(gè)工作區(qū)都有一個(gè)工作區(qū)號(hào),分別用1~32767表示,其工作區(qū)1~10還分別對(duì)應(yīng)有別名A~J。系統(tǒng)規(guī)定用工作區(qū)號(hào)作為各個(gè)工作區(qū)的標(biāo)識(shí)符,即數(shù)字1-32767;同時(shí)還規(guī)定,可以用工作區(qū)的別名作為工作區(qū)的標(biāo)識(shí)符,A~J這10個(gè)字母是工作區(qū)的別名,因此,單個(gè)字母A~J不可用來作為表的文件名,它是系統(tǒng)的保留字。2023年12月18日第27頁在每個(gè)工作區(qū)中只能同時(shí)打開一個(gè)表,在一個(gè)工作區(qū)中打開其他的表時(shí),原來在該工作區(qū)中打開的表將自動(dòng)關(guān)閉。若要同時(shí)使用多個(gè)表,就要使用多個(gè)工作區(qū)。每個(gè)打開的表也都有一個(gè)別名,當(dāng)用命令USE<表文件名>打開表時(shí),系統(tǒng)默認(rèn)的表的別名就是該表的主文件名。如果在打開表時(shí),在USE命令后面使用了ALIAS參數(shù)指定了表的別名,則可為表另外起一個(gè)別名,這時(shí)的表文件名就不再是表的別名。命令如下:USE<表文件名>[ALIAS<別名>][IN<工作區(qū)號(hào)/工作區(qū)別名/表別名>]2023年12月18日第28頁2.在“數(shù)據(jù)工作期”窗口查看工作區(qū)3.6.2選擇工作區(qū)的命令1.命令格式SELECT<工作區(qū)號(hào)>/<別名>/02.命令功能選擇或切換一個(gè)工作區(qū)作為當(dāng)前工作區(qū)。2023年12月18日第29頁3.6.3使用USE命令指定工作區(qū)打開表1.命令格式USE<表名>IN<工作區(qū)號(hào)>/<別名>2.命令功能使用區(qū)號(hào)或別名在指定工作區(qū)中打開表文件。2023年12月18日第30頁3.6.4建立表的關(guān)聯(lián)如果在多個(gè)工作區(qū)同時(shí)打開多個(gè)表文件,在當(dāng)前工作區(qū)中移動(dòng)表的記錄指針時(shí),其它表的記錄指針是不會(huì)隨之移動(dòng)。如果要想其它表的記錄指針也隨之移動(dòng),則要建立表間的關(guān)聯(lián)。關(guān)聯(lián)就在兩個(gè)或兩個(gè)以上的表之間建立某種連接,使其表的記錄指針同步移動(dòng)。用來建立關(guān)聯(lián)的表稱為父表,被關(guān)聯(lián)的表稱為子表。建立兩表間的關(guān)聯(lián)后,父表的記錄指針將帶動(dòng)子表的記錄指針隨之移動(dòng)(按關(guān)聯(lián)表達(dá)式值相同)。2023年12月18日第31頁1.命令格式SETRELATIONTO[<關(guān)聯(lián)表達(dá)式1>]INTO<工作區(qū)>/<別名>[,<關(guān)聯(lián)表達(dá)式2>INTO<工作區(qū)>/<別名>…]][INTO<工作區(qū)>/<別名>][ADDITIVE]2.命令功能在兩個(gè)表之間建立關(guān)聯(lián)。2023年12月18日第32頁【例3-9】SELEBUSEYYINDEXON學(xué)號(hào)TOXHSYSELECUSEXSDBSETRELATIONTO學(xué)號(hào)INTOBDISPLAY學(xué)號(hào),姓名,B.聽力,YY.口語2023年12月18日第33頁3.6.5解除關(guān)聯(lián)用SETRELATION命令建立關(guān)聯(lián)之后,當(dāng)父表的記錄指針移動(dòng)時(shí),子表的記錄指針也相應(yīng)要移動(dòng),并且將要引起讀/寫磁盤操作,這樣會(huì)降低系統(tǒng)的性能,因此,當(dāng)某些關(guān)聯(lián)不再使用或暫時(shí)不再使用時(shí),應(yīng)及時(shí)解除關(guān)聯(lián),以提高系統(tǒng)的運(yùn)行速度。1.命令格式格式1:SETRELATIONTO格式2:SETRELATIONOFFINTO<工作區(qū)號(hào)>/<別名>2023年12月18日第34頁2.命令功能功能1:解除當(dāng)前工作區(qū)表與其它工作區(qū)表建立的關(guān)聯(lián)。功能2:解除當(dāng)前工作區(qū)與由<工作區(qū)號(hào)>/<別名>指定的工作區(qū)中表建立的關(guān)聯(lián)。該命令必須在父表所在的工作區(qū)執(zhí)行。例如,要關(guān)閉當(dāng)前工作區(qū)與C工作區(qū)建立的關(guān)聯(lián)??梢酝ㄟ^下述命令進(jìn)行:SETRELATIONOFFINTOC2023年12月18日第35頁3.7用命令對(duì)表進(jìn)行操作簡介3.7.1打開表命令1.命令格式USE<文件名>[INDEX<索引文件名表>][ALIAS<別名>][EXCLUSIVE]2.命令功能打開當(dāng)前工作區(qū)內(nèi)的表,并且可打開相應(yīng)的索引文件。如果表中含有備注字段,相應(yīng)的.FPT文件也同時(shí)打開。當(dāng)打開另一個(gè)表時(shí),當(dāng)前工作區(qū)中先前使用的表將自動(dòng)關(guān)閉。ALIAS<別名>選擇項(xiàng)用來給表文件指定一個(gè)別名。如果缺省此項(xiàng),表文件名本身就是別名。2023年12月18日第36頁EXCLUSIVE表示以獨(dú)占方式使用表,即不允許其他用戶在同一時(shí)刻也使用該表?!纠?-10】打開XSDB表,并為其命名別名為XS。USEXSDBALIASXS2.7.2關(guān)閉表命令1.USE命令命令格式:USE功能:關(guān)閉當(dāng)前工作區(qū)中打開的表和相應(yīng)的索引。2023年12月18日第37頁2.CLEARALL命令命令格式:CLEARALL功能:關(guān)閉所有已打開表、索引和格式文件,釋放所有的內(nèi)存變量,選擇工作區(qū)1為當(dāng)前工作區(qū)。3.CLOSE命令命令格式:CLOSEALL/DATABASE功能:CLOSEALL關(guān)閉所有類型的文件,選擇工作區(qū)1為當(dāng)前工作區(qū)。CLOSEDATABASE關(guān)閉所有已打開的表文件、索引文件和格式文件,選擇工作區(qū)1為當(dāng)前工作區(qū)。CLOSE命令不釋放內(nèi)存變量。4.QUIT命令命令格式:QUIT功能:關(guān)閉所有打開的文件,結(jié)束VisualFoxPro并返回Windows操作系統(tǒng)。2023年12月18日第38頁3.7.3顯示表記錄的命令1.LIST命令命令格式:LIST[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>][TOPRINT][OFF]功能:以列表的形式顯示表的全體或部分記錄及字段內(nèi)容。<范圍>為ALL、RECORD<n>、NEXT<n>、REST中的一個(gè)參數(shù)。不指定時(shí),默認(rèn)范圍為ALL。FIELDS<字段名表>用來指定顯示的字段名、內(nèi)存變量名和表達(dá)式,其中FIELDS可以省略。對(duì)于備注字段及通用字段不顯示具體內(nèi)容。若要顯示備注字段數(shù)據(jù),則必須在<表達(dá)式表>中明確指出該字段名。2023年12月18日第39頁2.DISPLAY命令命令格式:DISPLAY[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>][TOPRINT][OFF]功能:以列表的形式顯示表的全體和部分記錄及字段內(nèi)容。DISPLAY命令與LIST命令格式相同,功能也基本相同。它們的區(qū)別是LIST缺省<范圍>時(shí),顯示全體記錄;DISPLAY缺省<范圍>時(shí),只顯示當(dāng)前記錄。LIST連續(xù)顯示記錄;而DISPLAY分屏顯示記錄,當(dāng)顯示滿一屏后暫停,提示按任意鍵后繼續(xù)顯示。2023年12月18日第40頁3.7.4利用已有的表建立新表1.COPYSTRUCTURE命令命令格式:COPYSTRUCTURETO<新文件名>[FIELDS<字段名表>]功能:復(fù)制當(dāng)前打開的表結(jié)構(gòu)到新的表文件中,但不復(fù)制任何數(shù)據(jù)記錄?!纠?-12】復(fù)制“學(xué)生”表的結(jié)構(gòu),生在“XSDB1.DBF”文件。USEXSDBCOPYSTRUCTURETOXSDB12.COPYTO命令命令格式:COPYTO<新文件名>[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]功能:將打開表的全部或部分結(jié)構(gòu)及數(shù)據(jù)復(fù)制到新表。2023年12月18日第41頁3.7.5修改表結(jié)構(gòu)的命令命令格式:MODIFYSTRUCTURE功能:打開表設(shè)計(jì)器窗口,顯示當(dāng)前表的結(jié)構(gòu),并可直接修改其結(jié)構(gòu)。3.7.6記錄定位命令這里介紹兩條專用的記錄定位命令:GO/GOTO命令和SKIP命令。1.絕對(duì)定位GO/GOTO命令命令格式1:GO/GOTOTOP/BOTTOM功能:記錄指針定位到表的第一條記錄或最后一條記錄。2023年12月18日第42頁格式2:GO/GOTO<數(shù)值表達(dá)式>功能:記錄指針定位到表的某一條記錄,命令中<數(shù)值表達(dá)式>的值就是指針定位的指定記錄號(hào)。【例3-14】USEXSDBGOBOTTOM &&記錄指針定位到表的最后一條記錄GO3 &&記錄指針定位到表的第三條記錄GOTOP &&記錄指針定位到表的第一條記錄2023年12月18日第43頁2.相對(duì)定位SKIP命令命令格式:SKIP[<數(shù)值表達(dá)式>]功能:將記錄指針從當(dāng)前記錄位置向下或向上移動(dòng),移動(dòng)的記錄數(shù)等于<數(shù)值表達(dá)式>的值。<數(shù)值表達(dá)式>值為正時(shí)向下移動(dòng),<數(shù)值表達(dá)式>值為負(fù)時(shí)向上移動(dòng)。<數(shù)值表達(dá)式>缺省時(shí),表示向下移動(dòng)一條記錄。2023年12月18日第44頁【例3-15】用SKIP命令移動(dòng)指針到指定的記錄,其中RECNO()函數(shù)的返回值是當(dāng)前記錄指針的值。USEXSDB?RECNO()1SKIP5?RECNO()6SKIP-3?RECNO()32023年12月18日第45頁3.7.7記錄的刪除命令1.邏輯刪除DELETE命令命令格式:DELETE[<范圍>][FOR<條件>][WHILE<條件>]功能:在當(dāng)前表文件中對(duì)要?jiǎng)h除的記錄加上刪除標(biāo)記。【例3-16】在XSDB表中,性別為“女”的記錄加刪除標(biāo)記。USEXSDBDELETEFOR性別="女"2023年12月18日第46頁2.恢復(fù)邏輯刪除RECALL命令命令格式:RECALL[<范圍>][FOR<條件>][WHILE<條件>]功能:在當(dāng)前表文件中,去掉刪除標(biāo)記,恢復(fù)被刪除的記錄?!纠?-17】刪除所有非黨員的記錄,恢復(fù)所有被加刪除標(biāo)記的男生記錄USEXSDBDELEFOR.NOT.黨員否RECALLFOR性別='男'2023年12月18日第47頁3.物理刪除PACK命令命令格式:PACK功能:把當(dāng)前表中帶刪除標(biāo)記的記錄真正刪除。說明:使用PACK命令之后,帶有刪除標(biāo)記的記錄從表中永久地刪除,不能再用RECALL和其他命令恢復(fù),因此使用時(shí)要特別慎重?!纠?-18】USEXSDBDELEFOR計(jì)算機(jī)<60PACK2023年12月18日第48頁4.清空表ZAP命令命令格式:ZAP功能:從打開的表中刪除所有的記錄,只保留表的結(jié)構(gòu)。說明:用該命令刪除的記錄將無法恢復(fù),使用時(shí)要特別小心?!纠?-19】USEXSDB1ZAP2023年12月18日第49頁3.7.8替換REPLACE命令命令格式:REPLACE[<范圍>]<字段名1>WITH<表達(dá)式1>[,<字段名2>WITH<表達(dá)式2>…][FOR<表達(dá)式>][WHILE<表達(dá)式>]功能:用來替換打開表中指定字段的數(shù)據(jù)。【例3-20】為“XSDB”表計(jì)算所有學(xué)生的平均分和總分。USEXSDBREPLACEALL總分WITH計(jì)算機(jī)+英語,平均分WITH總分/22023年12月18日第50頁3.7.9條件查詢LOCATE命令命令格式:LOCATE[<范圍>][FOR<條件>][WHILE<條件>]CONTINUE功能:按順序搜索表,從而找到滿足指定邏輯表達(dá)式的第一個(gè)記錄。2023年12月18日第51頁3.7.10建立單索引文件的命令命令格式:INDEXON<索引關(guān)鍵表達(dá)式>TO<索引文件名>[UNIQUE]FOR<條件>[ADDITIVE]功能:對(duì)當(dāng)前表中滿足條件的記錄,按<索引表達(dá)式>的值建立一個(gè)索引文件,并打開此索引文件,其缺省的文件擴(kuò)展名為.IDX。說明:單索引文件總是按升序的順序排列。對(duì)于一個(gè)表文件,允許建立多個(gè)索引文件?!纠?-22】USEXSDBINDEXON性別+DTOC(生年月日,1)TOSY將生成一個(gè)名為SY.IDX的單索引文件。2023年12月18日第52頁3.7.11建立復(fù)合索引文件的命令命令格式:INDEXON<索引關(guān)鍵表達(dá)式>TAG<標(biāo)記名>[OF<復(fù)合索引文件名>][FOR<條件>][ASCENDING|DESCENDING][UNIQUE|CANDIDATE][ADDITIVE]功能:建立和修改復(fù)合索引文件,并打開此索引文件,其缺省的文件擴(kuò)展名為.CDX。2023年12月18日第53頁【例3-23】為數(shù)據(jù)表XSDB.dbf按計(jì)算機(jī)從小到大建立單索引文件xsjsj.idx,按英語從高到低建立單索引文件xsyy.idx。USEXSDBINDEXON計(jì)算機(jī)TOxsjsj &&單索引文件總是按索引關(guān)鍵字升序排列LIST &&記錄已按基本工資升序排列INDEXON–英語TOxsyy;&&給實(shí)發(fā)工資取負(fù)號(hào)后使索引關(guān)鍵字表達(dá)式按升序排列,以求實(shí)發(fā)工資按降序排列LIST &&記錄已按實(shí)發(fā)工資降序排列2023年12月18日第54頁【例3-24】為XSDB.dbf按下列要求建立結(jié)構(gòu)復(fù)合索引文件,如圖3-22所示。向上箭頭為升序索引,向下箭頭為降序索引如果需要,可輸入篩選條件表達(dá)式在“索引名”文本框中輸入索引標(biāo)識(shí)名在“類型”列表框中,選定索引類型在“表達(dá)式”文本框中,輸入索引關(guān)鍵字表達(dá)式2023年12月18日第55頁(1)記錄以姓名降序排列,索引標(biāo)識(shí)xm,索

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論