




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、二級Visual FoxPro輕松過關 基礎教案如何順利通過全國計算機等級二級VFP的考試作為一名輔導老師,每次上課,學生最關心的 問題是如何順利通過考試。針對全國計算機等級二級考試的要求和學生的自身特點,我認為作好以下幾點非常重要:一 首先要掌握正確的學習方法學習是提高自身能力的最有效方法,報開始培訓班,聽輔導老師授課,通過考試的可能性很大,但是,有些學生只帶著教材來聽課,以為聽懂老師的授課內容就可以達到應試的要求;這種把學習認為是聽課的學生,上考場后會發現考題聽老師講過,就是無法在規定的時間內做出一份滿意的答卷。 正確的學習方法有四個步驟:預習,聽課,復習,做練習。預習就是把上課前自己先把
2、所學的內容至少看一遍,那些內容已經掌握,哪些內容還存在問題;通過預習可以確定自己聽課的重點。聽課是學習最重要的一個環節,聽課的目的是解決自己不懂的問題,尤其是自己的理解與老師講解的差距的地方;做筆記是課堂學習的一個良好習慣。復習是對所學內容的歸納與總結,在復習是要求學生理清思路,總結重點,對需要記憶的內容進行適當背誦。做練習是對學習效果的檢查,通過做適量的習題,可以找出自己的薄弱環節,尤其是要高度重視自己做錯的題,一定要結合教材內容全面掌握。二 其次要全面熟悉指定教材的內容許多學習計算機等級考試的考生,還有一些曾經考過計算機等級考試的考生,不重視對指定教材的學習;甚至有些考生在上考場時,還沒有
3、把指定教材認真看一遍。這就形成了計算機專業的過關率不如非計算機專業的過關率,有一些考生幾年也拿不到計算機二級合格證書。最近幾年國家對計算機等級證書非常重視,具體反映在幾乎每年都有新題型推出,這些新題的推出在作題和考試過程中發生了重大的變化,如果不學習新的知識,按以前的要求去解題,得分的可能性很小。2005年,教育部對計算機等級二級考試的科目,考試大綱進行了調整與變化,有原來的一部分考試內容改變為兩部分內容,即計算機二級內容和所有計算機二級全部新增公共基礎知識的考察。2007年下半年教育部對全國計算機等級考試的指定教材進行了重新修訂。對2005年計算機機試新題發生了重大變化;這些內容的變化給考生
4、應試增加了難度。如果考生把指定教材認真看幾遍,甚至沒有2007版的計算機等級指定教材,要想在考試中過關,這種可能性會有多大?三做一定數量的練習題計算機等級指定教材的內容是計算機知識和公共基礎知識;在考試中,這些知識是以各種具體的考題出現在考生的面前,要求考生多做單選題和填空題, 把所學的知識轉化為應試能力,作出一份讓自己滿意,讓閱卷老師能給60分以上的試卷,才是每位考生所追求的目標,要達到這個目標,做一定數量的練習題是必不可少的。一般在聽完一堂課后,作一些客觀題,檢驗自己所學考點的掌握程度;在學完一章內容后,在規定的時間內做一定數量的各種類型的習題(如半小時做30到選擇題,15到填空題,一套機
5、試模擬題)檢驗自己的答題速度;在學完全部內容后,應在與考試內容相同時間范圍內,做最近幾年的考題或全真模擬題,檢驗自己的應試能力。四.一定要重視最近幾年的考題事實求實的說,最近幾年的考題值得研究。全國計算機等級考試是由國家教育部發布的考試科目,考試大綱,各省,直轄市,自治區自考辦組織考試,考試合格有國家教育部考試中心頒發全國計算機等級考試合格證書,重視歷年考題從2005年考試大綱發生變化后重點掌握。通過以上對歷年考題的簡單分析,希望能幫助考生了解考試的基本要求。考試的總體難度在提升,反映了國家對計算機等級考試的要求在不斷提高。這些要求對考生來說,既是挑戰,又是機會。挑戰是指考試學習的內容將更多,
6、應試的難度增大;機會是指考生如果順利通過計算機等級考試,將是一名合格的計算機操作人員,一定能在以后的工作生活中大顯身手。最后,預祝廣大考生順利通過計算機等級考試,早日成為一名21世紀合格的人才。第一章 計算機二級Visual foxpro6.0基礎理論第一節 基礎Visual FoxPro6.0在windows平臺運行的32位數據開發系統之一,它采用了可視化的操作界面,面向對象的程序設計方法,大大簡化了應用系統的開發過程,提供了強大的操作工具,是目前開發數據庫系統軟件之一。一 Visual FoxPro6.0的工作方式(1)命令/菜單的交互方式 簡單介紹命令和菜單的運行方式如:Creat da
7、tabase數據庫名用菜單新建表,項目,數據庫等(2)程序執行方式如做表單的程序應用(字體向左走和字體變大變小)if thisform.lable1.left<=800 thisform.lable1.left=thisform.label1.left+1else thisform.lable1.left=0endif二 Visual FoxPro6.0的主要文件類型(列舉幾種)(1)項目(pix) (2)數據庫(dbc) (3)自由表(dbf)(4)程序(prg) (5)表單(scx) (6)報表(frx)(7)單索引(idx) (8)復合索引(cdx) (9)文本文件(txt)(10
8、)菜單(mnx)三數據類型的表示和部分寬度1數據類型字符型(C) 數值型(N) 邏輯型(L)日期型(D) 時間型(T) 備注型(M)通用型(G) 浮點型(F) 雙精度型(B)整型(I) 11貨幣型(Y)2數據類型寬度(介紹系統自定義的幾種)(1)寬度為1:L(2)寬度為4:I、M、G(3)寬度為8:D、T注意:(1)一個漢字寬度為2位符,一個數字或字母及符號占一個字符(2)在建表過程中,必須選定數據類型和寬度(3)比如N(8、2)表示N為數值型,8總寬度3表示小數點位數舉例:建表講解學號 姓名 性別 是否黨員 出生日期 總成績 語文 數學 英語 備注 照片四 ,系統路徑在VFP中,可以設置臨時
9、工作路徑和永久路徑兩種,系統路徑只限于平時上機練習,在考試中,切不可嘗試(1)臨時路徑:Set default to C:kxst(2)永久路徑:工具選項文件位置默認目錄 C:kxst設置默認值第二節 數據庫理論一 數據信息和數據庫(DB)1 概念(1) 數據:一切文字,數字,字母及其他符號組成的文本數據和以及圖象,聲音組成的多媒體數據的總和。(2) 信息:處理過有用的數據(3) 數據庫:存儲數據的空間,場所成倉庫2 三大模型(1)層次型()用樹形結構表示實體及其之間聯系的模型例: 系系代方 系名 系主任 地點 電話教研室 課程 教研室名 辦公室 主任 電話 課程方 課程名 學分 課時 教師
10、職工號 姓名 性別 職稱(2) 網狀模型用網狀結構表示實體及其之間聯系的模型例: 專業系教研室 課程 學生教員 任課 選課網 狀 模 型 示 例(3)關系模型用二維表結構表示實體及其之間聯系的模型注:關系數據庫模型以其完備的理論基礎,簡單的模型,說明性的查詢語言和使用方便等優點得到了廣泛使用。二、數據庫管理系統(DBMS)它是數據庫系統的核心,是位于用戶及操作系統之間的一層數據管理軟件,用于實現對數據的查詢,更新,輸入,轉換等操作。三數據庫應用系統(DBAS)是開發人員利用數據庫資源開發出來的面向某一類實際,應用的應用軟件系統。如:人事管理系統,教學管理系統,生產管理系統。四 數據庫系統(DB
11、S)1. 組成:(1)硬件系統(2)數據庫集合(3)數據庫管理系統(4)數據庫應用系統(5)用戶2. 特點:(1)數據結構化 (2)共享性 (3)獨占性 (4)可冗余3關系:DBS包含DBMS,DBAS,DB五關系數據庫1關系術語(1)關系:一個關系就是一張二維表(2)元組:在一個二維表中,水平方向的行稱為元組,每一行是一個元組(行-記錄-元組)(3)二維表中垂直方向的列稱為屬性(列-字段-屬性)(4)域:范圍(性別=“男“或性別=”女“)2關系運算1傳統的集合運算A.并:兩個相同結構關系的并是由屬于這兩個關系的元組組成的集合B.差:例如,設有參加計算機小組的學生關系R,參加橋牌小組的學生是S
12、.C.交:A和B的共同元組注意:在vf中設有直接提供傳統的集合運算,可以通過其他操作或編號程序來實現。3專門的關系運算(1) 選擇:從關系中找出滿足給定系統的元組的操作。如:list性別=“男“(2) 投影:從關系模式中查詢出所有出版單位,書名及作者,所進行的查詢操作就屬于投影運算。(3) 聯接:聯接是關系的橫向結合,聯接運算將兩個關系模式拼接成一個更寬的關系模式,生成的新關系中,包含滿足聯接條件的元組。區別:如選擇如投影運算是對一個表的操作,聯接運算需要兩個表操作。例如:有職工和工資兩個表,查詢基本工資大于640元的職工姓名,性別,職稱,基本工資,實發工資,獎金。由于性別,職稱,在職工表中,
13、而其他字段在工資表中,需要把這兩個表聯接起來,然后再進行投影運算。第三節 數據庫設計基礎一 數據庫設計步驟1 設計原則(1) 關系數據庫的設計應遵循概念單一化“一事一地“的原則。 例如:把一類的信息歸為一類。(2) 避免在表之間出現重復字段(3) 表中字段必須是原始數據和基本數據元素。在職工表應當包括出生日期字段,而不包括年齡字段,當需要查詢年齡時候可以通過簡單計算得到準確年齡。(4) 用外部關鍵字保證有關聯的表之間的聯系。2,設計的步驟(1)需求分析,確定建立數據庫的目的,有利于保存哪些信息 (2)確定需要的表??梢灾职研枨髣澐殖筛鱾€獨立實體。如:客戶,職工表訂單,每個表可以設計成數據庫中
14、的表。(3)確定所需字段 (4)確定聯系 (5)設計求精二數據庫設計的過程1需求分析(1)信息需求(2)處理需求(3)安全性和完整性要求2確定需求表3確定所需字段4確定聯系5設計求精A.是否遺忘了字段B是否存在保持大量空白字段二 聯接條件,各個關系中存在可以相互連接的字段1 聯接方式(1)一對一 (2)一對多(3)多對多(通過紐帶表聯接)2 聯接的種類:(1)永久聯接(2)臨時聯接第二章 表的基本操作一 操作命令1、 數據庫 表(1)新建:Creat dababase cc creat 表打開:open dababase cc use 表 關閉:close use 修改:modify modi
15、fy2顯示 list(全部顯示) display(當前顯示)3 修改結構Modify Structure 4,字段的修改*增加新字段:addAlter table 表名 add 聯系電話 n(15)*更改名稱:renameAlter table XS rename 姓名to 性別*更改寬度與類型 alterAlter table XS alter 姓名C(8)*刪除字段名:dropAlter table XS drop 姓名c(6)二,表記錄的操作命令1表記錄的修改(1) browse:瀏覽修改(2) Edit:編輯修改(3) Change:邏輯修改(4) replace:替換修改:repla
16、ce all 總分 with 語文+數學2表記錄的定位go n:將當前記錄定位到第n條go top:表頭go eop:skip+n上下移動,正向下移,為負向上移( 不包含當前記錄)3記錄的刪除delete 邏輯刪除,只加刪除標記,并沒有真正刪除。Pack 物理刪除,將所有帶刪除標記的全部刪除。Recall 恢復被邏輯刪除的當前記錄。Zap 將所有記錄刪除4表的復制 (copy)(1) 復制表記錄:copy to 新表名(2) 復制表結構:copy structure to 新表名例如:use 學生copy structure to 教師use 教師brow6追加記錄 appendappend:
17、在表尾添加記錄append from 表名:將一個表的信息全部追加到另一個表如: use XS append from cc browse7 插入記錄 insert(1)insert blank 插入一條新的空白記錄(3)insert before 在當前記錄前面插入一條新記錄三 范圍(1) all(全部,所有)(2) next 3表示包含三條記錄(3) record 3表示第三條記錄(4) rest 從當前開始的所有記錄注意:(1)all,rest不帶參數(2)next和record必須帶參數(3) 它們都含當前記錄,而skip卻不含當前記錄四 條件(1) for 滿足條件的記錄全部顯示(2
18、) while 遇到一個不滿足條件的在不繼續往下顯示如:list for 性別=“男”五 字段 fields如果表中的所有記錄全部顯示,可以不用fields,若要顯示其中某n列,則加fieldslist fields 字段1,字段2,字段n練習題:1 顯示信息訓練(1) 顯示從第三條到第五條記錄中所有患有非典癥狀人的信息。go 3brow next 3 for 是否非典=.t.(2) 顯示從第三條開始的五條記錄中生日在1984以前的女生的信息。Go 3List next 5 for 出生日期<1984/01/01 and 性別=”女”(3) 顯示所有非未成年人的姓名和性別。List fo
19、r出生日期<=1990/01/01 fields 姓名,性別2 修改信息的訓練(1) 修改從第三條到第五條記錄中所有患有非典癥狀的人的信息Go 3Brow next 3 (2) 修改從第三條開始的五條記錄中生日在1985年以前女生的信息(3) 修改所有未成年人的姓名和性別Brow for chusheng>=1990/01/01 fields 姓名,性別答案:3 刪除信息訓練(1) 刪除年齡大于20周歲的男生的信息Delete for 出生日期<=1988/01/01(2) 刪除從第三條開始的五條記錄中生日1985年以后的女生的信息Go 3Delete next 5 for
20、出生日期>=1985/01/01 and 性別=”女”(3) 刪除所有非未成人的信息答案:4 復制信息訓練 (1) 復制從第三條到第五條記錄中所有是團員的信息Go 3Copy next 3 for 是否團員=.t.(2) 復制從第三條開始的五條記錄中生日在1985年以前的信息Go 3Copy next 5 for 出生日期<=5 Replace使用(1) 將所有女生的年齡增加10歲Replace all 總成績 with 語文數學英語假設當前有XS表,dbf表,表中含英語,語文,數學三個字段,現要求你用編程求出該表的總成績(2)答案:(1)replace all 年齡 with 年
21、齡+10 for 性別=“女”(3) replace all 總成績 with 語文+數學6 建立一個表進行表的操作練習7 組織學生練習章節練習8 在每節上課前進行提問,復習上一節課所學的掌握情況第三章 數據元素與函數注意:主要在理論考試中考,機試內容較少第一節 常量和變量一 變量1 概念:值相對變的變量2 特點:(1)變量名不區分大小寫(2)后一個覆蓋前一個如:Ab=3aB=6?Ab+ aB 3 變量的賦值(store)(1)一個值賦給一個變量 如:a=3(2)同時將一個值賦給多個變量例如:store 3 to a,b,c 顯示?4 值的顯示(1)?換行顯示(2)?同行顯示(3)list/d
22、isplay memory like a 顯示類型,寬度等5刪除(1)replace all(2)clear memory all 功能等價6分類:字段變量和內存變量練習:假設XS表中第一條記錄的姓名值是“張三”如果在命令窗口中敲入姓名:123,請問這樣的表示方法是否合理?如果顯示變量,結果是什么?注意:同時出現同名的字段變量與內存變量時,顯示的是字段變量的值,因為字段變量的優先級高于內存變量。二 常量1 概念:值相對不變的量2 類型(1) 字符型:凡用( ) “” 括起來的信息都稱為字符型如:“123” 123(2) 數值型:是常數用來表示數量的大小,由數字0-9,小數點和正負號構成。如:1
23、2 , 3,45,-6.78 注意:5.878E 12 表示5.878×1012(3) 日期型A系統默認:月/日/年如:list for 出生日期=11/27/06B嚴格日期:2006/11/27C邏輯型:T,F注意:前后兩個句點作為邏輯型常量的定界符不可缺少。第二節 數組和運算符及表達式一 數組:名稱相同,下標不同的一組元素1 數組的定義(1) dimension 數組名(<下標上限1>,<下標上限2>)(2) declare如:dime x(3)一維數組有3個元素dime x(3,2)二維數組6個元素2 數組的賦值注意:默認值 (F)aa(1,1)=12
24、aa(s)=“中國” aa(9)=11/25/993 顯示 list memory like aaaa(3,4)3行4列元組:12個元素4 數據的傳遞(1) 數據由表發送數組:scalter to 數組名(2) 數據由數組發送表:gather from 數組名例如:(1)如何把第一條記錄復制到第二條記錄 go 1 scalter to aa go 2 gather from aa(3) 如何把第一條記錄和第二條記錄互換位置go 1scalter to aago 3scalter to bbgo 1gather from bbgo 3gather from aa舉例:例如一個箱子有香蕉,另一個粉
25、筆相互互換位置二 運算符與表達式1 算術運算符:+,*,/,%,求余,平方根如:?3%2?242 字符運算符:+,如:?“abc ”+df“?abc “-df“最后比較結果有什么不同3 日期:+,?2006/11/27-10 若干天前的日期,反之相加若干天后的日期*?2006/11/27-1984/01/23/365注意:日期-日期=相差天數 日期相加無意義4 關系運算符:=>,<>,<=,$,=,!=$包含:左包含右為真,否則為假如:?“ab“$”abc” 結果(T)?“abcd“$”abc”結果(F)5 兩種特殊的比較運算符1) 一般比較運算(1)數字比較 ?3&g
26、t;2 (T)按數量大?。?)字符比較 ?“陳真“>”陳世美“ (T)按拼音比較(3)嵌套比較 ?17>9 (F)按位置比較2)狀態比較(1)set exact off 粗略比較如果左包含右為真,否則為假?“abc“=”abcd“ (T)?“abc“=”abcd“ (F)(2)set exact on 精確比較先用空格補充位置,再比較?“abc”=“abc ”?“abcd”=“abc ” 第三節 函數一 函數1 定義:如圖所示,當自變量X發生變化時,函數值Y也相應地發生變化,因此把Y稱為X的函數。X取0,1,2時,Y為1,4,72 分類本章將常用函數分為5大類,通過舉例介紹(1)
27、數值型函數1) ABS 返回指定的數值表達式的絕對值 例如:x=10 ?abs(5-x) 5 ?abs(-1) 12) int 求整數 如:int(678.6) 3)sqrt 求平方根 如:?sqrt(16) 4)round(678,678,-2) 四舍五入 如:?round(125,456,1),(123,456,-1) 5)pi() 如:?pi() 結果3.14 6)max 最大 min 最小 例如:?max(1,2,5) ?min(“a”,“T”,“t”) 7)mod() 求余數 (兩個數值相除后的余數) 如:?mod(8,15)(2)字符型 1)len()求字符總長度 如:?len(“
28、中華人民共和國”)x =“中文visual Foxpro6.0”?len(x) 結果:203) trim()剪切后面的空格ltrim()前面的空格alltrim()剪切前后空格例如:x=”hh ” y=” ff” z=” dd bbb ” ?trim(x)+ltrim(y)+alltrim(z)4)upper ( ) 小寫轉化大寫函數 lower( )大寫轉化小寫函數例如:?upper(“abc=123”) ?lower(x1y2AA)5)space() 空格生成函數例如:?”ff”+space(10)+”hh”6)substr 從指定的位置起取函數值?substr(“sbcdef”,3)?s
29、ubstr(“abcdef”,3,2)7)left()從指定左面取一個子串作為函數值 right()從指定的右面取一個函數值例如:x=”good bye”left(x,2)?right(x,3)8)occurs 求第一個字符串在第二個字符串中出現的次數如:x=”abcddffeaa”?occurs(“e”,x)occurs(“f”,x)9)求子串位置的函數atc( )求位置不區分大小寫at() 求位置區分大小寫如:X=”This is VisualFoxPro”?at(“fox”,x)?atc(“fox”,x)?atc(“is”x,3)10)stuff() 替換函數如:x1=”good mor
30、ning”x2=”bye”?stuff(x1,6,7,x2)11)chrtran()替換如:x1=”計算機世界” x2=”計算機ABC”?CHRTRAN(x1,x2,”電腦”注意:比較字符串是否相等,相等替換,不相等移第一個字符串.12)like 匹配函數? 表示任意一個字符 *表示一個或多個字符如:?like(“AB?”,”ABFT”)(3)日期型1)?date() 系統日期例如:?date()顯示當前日期2)time() 系統時間3)datedime()系統時間4)year(date()年5)month(date()月6)day(date()日7)hour(datetime()時8)min
31、ute(datetime()分9)sec(datetime()秒(4)轉換類函數1)str() 數值型轉換字符型x=123?x+”元”?str(x)+” 元”2)dtoc() 日期型轉換字符型ctod()字符型轉換日期型 val()字符型轉數值型例如:x=1333?x+”元”?str(x)+”元”3)&宏代換(取掉引號)x=123?x+4?&x+4(5)測試類函數1)between()第一個數是否在第2,3個數之間如:between(8,1,99)2)isll 值為null時,返回真值,否則為假如:x=null?isnull(x)3)empty()是否為空值如:x=”?empt
32、y(x)x=empty(x)4)iff()條件測試函數(條件,表達式1,表達式2) 結果:條件成立時,表達式1為整個結果 條件不成立時,表達式2為整個結果例如:iff(3>2,”yes”,”no”)5)varitype() 測試類型如:x=4>3?vartype(x)x=date?vartyjpe(x)6)eof()文件尾 bof()文件頭如:go top 定義表頭 ?bof() skip-1?bof()7)recno() 當前記錄個數8)recount() 總記錄個數9)deleted() 測試是否有刪除標記如:go 3delete?deleted()注意:練習測試類型函數必須要
33、打開表操作. 第四章 排序與索引一 排序(sort)1升序:sort on 工資 to cc use cc browse2 降序:(/d)sort on 工資/d to cc 3. 當第一關鍵字相同時,采用第二關鍵字 sort on 工資/d,年齡/d to cc二 索引(打開數據庫)格式:索引關鍵字ON 索引表達式tag 索引名注意:以上形式所建立的索引是復合索引文件,索引文件擴展名是cdx1. 升序(asc):index on 工資tag ww2. 降序(desc):index on 工資/desc tag aa3. 單索引文件:index on 工資 desc to cc注意:(1)單索
34、引文件沒有降序,只有升序(3) 單索引文件的打開 set index to(3)以上所建立的索引文件是單索引文件是單索引文件 idx三 區別1 存放位置不同2 瀏覽方式不同3 升降序方式不同四 索引設置1 數據庫表有4種索引主索引 侯選索引 普通索引 唯一索引2 自由表有三種索引。注意:一個表只能有一個主索引,可以有多個其他索引,舉例說明;主索引與侯選索引用來標識記錄的唯一性,即不容許有重復的記錄,侯選,唯一,普通索引可以有多個。五 主控索引設置set order to 索引文件名六 索引的刪除 use aa delete tag all七 表之間的聯系1 連接的類型(1)永久聯結 注:條件,
35、父表主索引,子表有索引(2)臨時聯結 set relation to 主表主索引 into 子表名 additiue 八工作區1工作區個數:1-32767個工作區2Selete o 表示當前尚未打開的使用工作區(理論) use ff in 4 use cc in 3 selete o use vv九,數據完整性1 實體完整性:用主索引和侯選索引來標志記錄的唯一性2 域完整性:字段有效性規則規則:年齡>=18 and 年齡<=30信息:未成年人禁止入內!默認值:03 參照完整性:用來描述表與表之間的聯系條件:首先是有建立永久性聯結,然后清理數據庫(1) 有三個規則:更新,刪除,插入(
36、2) 如果刪除選擇級聯,當父表中的記錄刪除時,刪除子表中的所有記錄。第五章 查詢和視圖一查詢1locate for 性別=“男“ 查找滿足條件的第一個記錄?found() 是否查找到displaycontinue 繼續查詢2Index on 性別 tag cc 索引查找 seek 男 查找?found() 是否查找到display skip注意:必須先建立索引文件比較順序查詢和索引查詢的不同點,請解釋下列程序代碼locate for 性別=“男“; if found(); dispcontinue;dispindex on 性別 tag ccseek “男“?found()displayski
37、pselete * from ss where 性別=“男“list for 性別=“男“二 查詢設計器1 選項卡(1)字段:select 選擇自己所用字段(2)聯結:xs join cj on xs.學號=cj.學號(3)篩選:where 性別=“男“(4)排序依據:order by 年齡,成績 desc(5)分組依據:group by 性別注意:分組是將相同的一組只顯示一條記錄 sum(數量) as 數量總和1)生成一個虛擬的新字段2)分組后,同一類型的記錄只顯示一條3)分組后,統計每一組個數,分組后滿足的條件 count(*)>=32,查詢去向(總共有7個選項)3查看SQL語句4運
38、行查詢:單擊運行或do 查詢名.qpr視圖(vue)一,定義1.視圖是一個虛擬表2.視圖是從一個或多個數據庫表中導出的表3.在視圖中,只存放視圖的定義,不存放視圖的內容二.相關操作1.建立(1)creat view (2)creat view.as.2.修改:在瀏覽器窗口中顯示或修改視圖中的記錄.3.打開關閉:使用use命令.4.可以使用SQL語句操作視圖。5在文本框,表格控件,表單或報表中使用視圖作為數據源。三視圖設計器區別:查詢有查詢去向,而視圖有更新條件第六章 關系數據庫標準語言(SQL)一,定義 SQL是結構化查詢語言Structure Query Language的縮寫,是一種高度非
39、過程化的語言,是數據庫后臺操作語言,具有非常強大的查詢功能,查詢是它的核心。二,基本構成 Select(查什么)*表示所有 From(從哪個表中) Where(查詢條件)Select(字段)from(表1)inner join(表2)on (表1關鍵字=表2關鍵字) Where(篩選)group by(按照分組)having(限定分組條件)order by(按照排序)三三大功能1數組查詢功能 Select例(1)查詢所有男同學的姓名和性別Select 姓名,性別 from XS where 性別=“男”(2)在XS,CJ表中檢索年齡大于18歲的所有人的信息并按照年齡降序排列。 Select *
40、 from XS join CJ on XS,學號=CJ,學號 where 年齡18 order by 年齡 desc2數據操作功能 插入:insert into 更新:update 刪除:delete(1)insert into append例:(1)在XS表中插入元組(003,李三,男) insert into XS values(003,李三,男) (2)在XS表中只插入學號004 insert into XS(學號) values(004) (3)在XS表中插入數組AA的信息 insert into XS from array AA(2)update例:(1)把CJ表中所有年齡在18歲
41、以上的學生的成績加10分 update CJ set 成績=成績+10 where=18 (2)把XS表中優惠價格在進貨價格的基礎上減少10% update XS set 優惠價格 with 進貨價格*0.01(3)delete例:刪除XS表中男生的所有信息delete from XS where 性別=“男”想一想:以上各個SQL語句操作命令可否用你學過的vf知識應答?3數據定義功能(1)建立 Creat database 新建數據庫 Table(自由表)Index(索引)View(視圖)(2)修改1給CJ表增加一個新字段(名稱C(6)alter table CJ add column 名稱
42、C(6)2刪除CJ表的名稱字段alter table CJ drop 名稱3修改或修改CJ表年齡字段的有效性規則alter table CJ alter 年齡 set check 年齡04刪除年齡字段的有效性規則alter table CJ alter 年齡 drop check5刪除默認值語句alter table CJ alter 年齡 drop default6將成績字段改為總分alter table CJ rename 成績 to 總分7將CJ表中成績字段類型改為n(4,1)alter table CJ alter 成績n(4,1)8將學號定義侯選索引 索引名candipppalter
43、 table CJ add unique tag candippp9刪除侯選索引candipppalter table CJ drop unique tag candippp10給學號字段建立和刪除索引(primary key 表示主索引) alter table CJ add primary key tag cc alter table CJ drop primary key tag cc11修改成績的默認值為60分 alter table CJ alter 成績 set default 6012建立/刪除普通索引alter table CJ add foreign key 成績 tag c
44、c reference XS alter table CJ drop foreign key 成績 tag cc(3)刪除 刪除表:drop table XS 刪除視圖:drop view cc四四種索引索引類型 vf SQL主索引 用黃色鑰匙表示 primary key 侯選索引 candi candidate 唯一索引 unque 普通索引 默認 foreign key六 五類函數sum() avg() count() min() max() 例如:求CJ表中所有同學的平均年齡 Select avg(distinct年齡)from CJ 求該表中年齡最小的人的信息 Select min(年
45、齡)from CJ 七 六種去向1 將查詢結果保存到永久表:into dbf/table cc2 將查詢結果保存到臨時表:into cursor cc3 將查詢結果保存到數組:into array cc4 將查詢結果保存到表文本文件:to file cc5 將查詢結果預覽顯示:to preview6 將查詢結果打印:to printer例如:把XS表的所有信息存入到表mm中Select * from XS into dbf mm重點記憶:(3) 將查詢結果保存到表的有關操作,實質上是SQL中關于表的復制,在上例中,得到的表mm和XS是兩個相同的表,它和copy to命令等價,可隨意使用。(4)
46、 在into array cc句中,表示數組cc保存了表的內容,它和前面學過的Scatter to cc不是很一樣,前者表示將部分或全部記錄存入cc,后者已表示將當前記錄存入數組cc。八一個約束check 年齡18 error 未成年人不準入內default 規則 信息 默認值八 兩詞查詢 1量詞 some any all some與any只要子查詢中有一行能使結果為真,則結果為真 all子查詢中的所有行都能使結果為真,則結果為真 2Exists 和 not exists 例1查詢那些倉庫中設有職工的倉庫的信息 Key:Select * from ck where not exists(Sel
47、ect * from ZG where ck.倉庫號=ZG.倉庫號) 等價于Select * from CK where 倉庫號 in (Select 倉庫號from ZG)九 九類函數1 通配符 %例:從GYS表中檢索出全公司的信息,不要工廠為其供應的信息。分析:這是兩個字符串匹配的查詢,顯然應該使用like“%公司“ Select * from gys where 供應商名 like “%公司“2 運算符 betweenand例:找出工資不在1220元和1240元之間的全部職工的信息Select * from gys where 工資not between 1220 and 1240 例:
48、找出不在北京的全部供應商的信息Select * from gys where 地址!=“北京“或Select * from gys where not地址=“北京“3 As運算Select avg(工資)as 平均工資from zg4 并運算(union)例:顯示城市為北京和上海的倉庫的信息Select * from ck where 城市=“北京“ union Select * from ck where 城市=“上海“5 部分結果運算 top例:顯示工資最高的3位職工的信息Select * Top3 from zg order 工資desc6 百分比 percent例:顯示工資最低的那30
49、%職工的信息Select * top 30 percent from zg order by 工資7 空值查詢 is null例:找出尚未確定供應商的訂購單Select * from dgd where 供應商 is null 例:列出已經確定了供應商的訂購單的信息Select * from dgd where 供應商號 is not null8 排序運算 order by9分組運算 group by having 例:用命令建立data1用SQL命令建立表gysl表Creat table gysl (供應商號c(c5) primary key,供應商號)c(20),地址c(20)SQL語言程序算法的聯接和嵌套一 聯接1 單表聯接:又稱自聯接,是去掉重復值的等值運算2 雙表聯接例如,XS表CJ表,兩表聯接,代碼如下Select XS.學號,XS.姓名,XS.年齡,CJ.成績;From XS inner join CJ;on XS.學號=CJ.學號;where
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版權代理合同模板
- 2025項目管理崗勞動合同范本
- 2025股權質押借款合同
- 2024北京八中高一(下)期中數學試題及答案
- 銀行業法規與風險管理知識題庫
- 農業產業鏈管理優化作業指導書
- 汽車銷售與售后服務流程規范
- 社會公共活動場地設計與安全評估指南
- 電商平臺的交易服務協議
- 汽車維修行業數字化轉型實施方案
- 2023年山東青島局屬高中自主招生物理試卷真題(含答案詳解)
- CBL聯合情景模擬人文護理查房
- 二級建造師繼續教育模擬考試題庫500題(含答案)
- LY/T 3371-2024草原生態狀況評價技術規范
- JGJT322-2013 混凝土中氯離子含量檢測技術規程
- 《中藥學》教案完整版
- 民政局發布的離婚協議書樣本
- 油菜的生長發育特性
- 《系統思維解決問題》
- 保安經理工作計劃
- 2023年全國統一高考語文試卷(全國甲卷)(含答案與解析)
評論
0/150
提交評論