




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
二級永賽大串講PAGEPAGE4第一類:建立與修改命令1.CREATEPROJECT項目文件名.PJXPj——PROJECT2.CREATEDATABASE數據庫文件名.DBCDB——DATABASE3.CREATEQUERY查詢文件名.QPRQP——QUERYPROGRAM4.CREATEVIEW視圖名ASSELECT語句5.CREATEFORM表單文件名.SCXSC——SCREEN6.CREATEMENU菜單文件名.MNXMN——MENU7.CREATEREPORT表表文件名.FRXFR——FORM?8.MODIFYPROJECT項目文件名.PJX9.MODIFYDATABASE數據庫文件名.DBC10.MODIFYQUERY查詢文件名.QPR11.MODIFYVIEW視圖名12.MODIFYFORM表單文件名.SCX13.MODIFYMENU菜單文件名.MNX14.MODIFYREPORT報表文件名.FRX[PREVIEW][TOPRINTER]注意:(1)運行菜單和查詢文件時,擴展名不能省略。(2)為了運行報表AA,使用命令并預覽:DOAA等價于DOAA.PRG(3)可運行的文件:菜單、程序、查詢、表單和報表。第三類:其他命令ADDTABLE自由表文件名[.DBF]功能:將一個自由表添加到當前數據庫中,使之成為一個數據庫表。REMOVETABLE數據庫表文件名[.DBF]功能:將當前數據庫中的一個表文件移除,使之成為一個自由表。CLOSEDATABASES功能:關閉當前數據庫以及該數據庫中的所有表文件。OPENDATABASE數據庫文件名[.DBC]功能:打開數據庫,使之成為當前數據庫。BUILTAPP應用文件.APPFROM項目文件功能:將一個項目文件連編生成一個應用文件。應用文件只能在VFP中運行,不能再WINDOWS下運行。注意:CREATEDATABASE,MODIFYDATABASE和OPENDATABASE均會打開數據庫,但只有MODIFYDATABASE會啟動數據庫設計器。第九章項目管理器1.界面復習項目管理器(共6個選項卡)全部:包含5個數據、文檔、類、代碼、其他(不考)數據:包含3(5)數據庫(數據庫表、視圖)、自由表、查詢文檔:包含3表單、報表、標簽類:包含所有擴展名為.VCX的類庫文件代碼:包含3程序(也稱程序命令文件或過程文件)、應用程序、API其他:包含3菜單、文本文件、其他文件(圖像、聲音等)文件的包含與排除文件排除符圓圈+斜線(右上到左下) 文件排除在項目管理器中,如果某一個文件名的前面有這個符號,則說明該文件在項目連編時將不會被包含到連編所生成的應用文件(或可執行文件)中,必須單獨復制該文件到連編所生成的項目文件夾中。一般情況下,表文件和數據庫文件應設置成排除文件。被設置成排除文件的文件也是項目文件的一部分。文件包含文件名前無文件排除符的文件稱之為包含。連編后該文件是只讀文件,不能對其進行修改操作。3.項目主文件含義:指在項目管理器中,以黑體加粗方式顯示文件名的文件。一個項目有且只有一個主文件。功能:主文件是項目的入口程序,即在運行時第一個被執行的文件。可設置為主文件的文件類型有:程序、表單和菜單。在項目管理器中選中某個文件,單擊“移去”按鈕將彈出對話框:單擊“移去”——將文件從項目管理器中移出單擊“刪除”——將文件從項目管理器中移出并將文件從磁盤中刪除。注意:鼠標操作的建立數據庫等價于MODIFYDATABASE第十章數據庫1.數據庫性質:數據庫是一個容器,可裝載數據庫表、視圖和永久表間關系。但不保存數據?。自由表——不屬于任何數據庫。數據庫表——一個數據庫表只能屬于一個數據庫,一個數據庫可以有多個數據庫表。一個數據庫表可以設置字段有效性規則,可以建立主索引,可使用長字段名。2.數據庫表設計器與自由表設計器的區別:數據庫表設計器多了顯示方式和字段有效性。只有在同一個數據庫中的兩個數據庫表才能建立永久表間關系。只有數據庫表才能實現數據的實體完整性、域完整性和參照完整性。數據完整性包括:實體完整性、域完整性和參照完整性。實體完整性含義:為了確保記錄的唯一性和非空性而引入的數據約束方式。在VFP中,通過建立主索引(主關鍵字)或候選索引(候選關鍵字)來實現。域完整性含義:為確保字段值的合法性和非空性而引入的數據約束方式。范疇:字段的類型、寬度、小數位數和有效性規則。參照完整性含義:通過參照另一個表中的數據進行校驗,從而確保本表數據的合法性。三種規則:更新、刪除和插入。課本P129筆試考試中:①如遇到選項中有查詢規則或檢索規則,就選它們。②見到級聯一定要找到自動;見到限制一定要找到禁止。級聯自動子表限制禁止父表插入規則最特殊:禁止子表并且只有限制和忽略。表間關系包括:永久表間關系和臨時表間關系。永久表間關系常見三種:一對一、一對多和多對多(VFP中不允許)VFP中的表間多對多關系:在VFP中,多對多關系化解為兩個一對多關系解決。具體方法:建立一個紐帶表,使該牛代表同時包含兩表的公共關鍵字。索引方式(類型)決定了永久表間關系的類型。一對一:兩表都要建立主索引或候選索引。一對多:父(主)表建主索引或候選索引,子(從)表必須建普通索引。永久表間關系的目的:實現數據的約束。臨時表間關系的目的:實現指針的聯動。第十一章查詢和視圖1.查詢(1)定義:指只保存這一條SELECT語句的文本文件。查詢文件擴展名:.QPR(2)查詢設計器選項卡:字段:等價于SELECT之后的關鍵字列表聯接:等價于JOINON超鏈接篩選:等價于WHERE排序依據:等價于ORDERBY分組依據:等價于GROUPBY滿足條件:等價于HAVING雜項:等價于TOP、DISTINCT(去掉重復記錄)、PERCENT(取前n%項記錄)注意:①WHERE用來刪選記錄,只能用在SQL語言中;FOR用來篩選記錄滿足條件的所有記錄,只能用在VFP中,不用在SQL中。②WHILE從當前記錄開始往下到第一條滿足條件的記錄為止。只用在VFP中,不用在SQL中。查詢去向共七個:瀏覽、臨時表、表、屏幕、圖形、報表、標簽。在查詢設計器中,要把查詢結果輸出到文本文件,應在查詢去向中選擇屏幕、報表或標簽。2.查詢設計器與視圖設計器比較(1)查詢設計器有查詢去向,但無更新結果。可得到結果。(2)視圖設計器有更新條件,無去向。可更改原數據。可以根據數據庫表、自由表和視圖建立查詢;但只能根據數據庫表和視圖建立視圖。第十三章菜單菜單分為:(1)下拉式菜單:由一個條形菜單和若干個彈出式菜單組成。(2)快捷菜單:由一個彈出式菜單組成。2.菜單文件(3種)(1)格式文件:.MNX(2)備注文件:.MNT(3)程序文件:.MPR3.菜單設計器(4個欄目)(1)菜單名稱:①設置訪問鍵(熱鍵)方法:在菜單名稱后緊接著輸入“(\<訪問鍵字母)“。(也可以用在表單按鈕的訪問鍵,在CAPTION中)②設置分組線方法:在需設置分組線的菜單名稱之間“插入”,在空白菜單名稱中輸入“\<“。(2)結果:包含五個選項。子菜單、命令、過程、菜單項#和填充名稱。條形菜單;有填充名稱,無菜單項#。彈出式菜單;有菜單項#,無填充名稱。(3)選項:快捷方式、位置、跳過(表達式為L型,值為.T.)、信息(結果為C型,當選中“信息“時會在窗口狀態欄顯示該文本信息)、主菜單名和備注(4)菜單級:用來決定當前是彈出式菜單(新菜單項),還是條形菜單(菜單欄)。4.“顯示“——”常規選項“對話框可設置:(1)位置替換——將用戶自定義的菜單替換操作系統中的某個菜單。追加——在系統所有菜單項后面(右邊)增加用戶自定義菜單。在···之后——在指定的系統菜單之后插入用戶自定義菜單。在···之前——在指定的系統菜單之前插入用戶自定義菜單。(2)代碼設置:在運行菜單之前先執行這一部分代碼。清理:關閉菜單之后執行清理中的代碼。頂層表單選中——本菜單只能在頂層表單中調用。未選中——既可在頂層表單中調用,又可在任何中調用。5.快捷菜單調用方法:表單中用RIGHTCLICK事件調用。輸入代碼:DO菜單程序文件名.MPR頂層表單調用菜單:一般在菜單的LOAD或INIT事件中輸入DO菜單程序文件名.MPRWITHTHIS,.T.第十四章報表報表的特點不保存記錄,記錄保存在表中。含義報表文件是一個保存著控件布局格式定義的文件。它不保存實際的數據。只有在運行時才會從數據源中讀取數據。報表文件擴展名.FRX報表文件數據源數據庫表、自由表、視圖和查詢。輸入與輸出視圖和表單既是輸入又是輸出。報表和查詢均為輸出。報表帶區(共七個)標題頁標頭組標頭細節組注腳頁注腳總結特點對稱分布三個基本帶區:頁標頭、細節、頁注腳各帶區打印:(1)標題和總結帶區每份報表只打印一次。(2)頁標頭和頁注腳帶區每頁打印一次。(3)細節帶區:每讀取一條記錄打印一次。(4)組標頭和組注腳帶區每組記錄打印一次。標簽控件報表控件域控件線條控件矩形控件圓角矩形控件OLE控件(嵌入式控件)注意:在筆試考試中,凡是問到該用哪種報表控件?只選域控件。注意:(1)為了在每頁下方打印該頁頁碼,應該在該頁頁注腳帶區中使用域控件,而且在該控件的屬性中使用內存變量_PAGENO(PAGENUMBER)。在報表中打印系統時間,域控件TIME()。見到TIME()函數找C型字符。第十二章表單文件擴展名:.SCX表單控件表單(FORM)CAPTION:表單標題NAME:控件名SHOWWINDOW:位置0——在屏幕中(默認)1——在頂層表單中2——作為頂層表單WINDOWTYPE:模式0——無模式(此窗口不關閉任可操作其他窗口)默認1——模式(此窗口不關閉無法操作其他窗口)MAXBUTTON:最大化按鈕。是否可用。默認.T.,可用。MINBUTTON:最小化按鈕。以上同CLOSABLE:關閉按鈕是否可用。默認.T.AUTOCENTER:運行時表單控件是否自動居中。默認.F.標簽控件(LABLE)CAPTION:標簽顯示的內容(表單中,)要求改漢字就改CAPTION,要求改字母就改NAME。FONTSIZE:字號FONTNAME:字體AUTOSIZE:是否自動縮放控件大小。默認.F.FORECOLOR:字體顏色BACKSTYLE:背景樣式透明(0)或不透明(1默認)ALIGNMENT:對齊方式0——左(缺省)1——右2——中央3.文本框(TEXT)VALUE:設置初始值以及控件的數據的控件類型。默認C。若要使用函數,應在函數前用=。PASSWORDCHAR:設置文本框的回顯字符(口令)。即密碼框CONTROLSOURCE:指定一個內存變量來保存控件中的值。INPUTMASK:輸入掩碼。$——在某一固定位置顯示當前貨幣符號9——數字#——數字、空格和正負號、小數點!——字母轉換為大寫。僅C型僅文本框。4.編輯框(EDIT)SELSTART:保存著用戶選中的內容的起始位置。SELLENGTH:選中的字符串的長度。5.命令按鈕(COMMAND)CAPTION:可設置按鈕的訪問鍵。如:確定(\<T)確定(T)DEFAULT:設置默認按鈕。即按ENTER鍵自動選中的按鈕。CANCEL:設置取消按鈕。即按ESC鍵自動選中的按鈕。命令按鈕無VALUE,但是命令按鈕組有VALUE。命令按鈕組(COMMANDGROUP)VALUE:保存著運行時用戶選中的按鈕編號。選項按鈕組(OPTIONGROUP)VALUE:保存著運行時用戶選中的選項編號或CAPTION。如:選項按鈕組男女若選中“男“,此時選項按鈕組的VALUE值為:1或男當VALUE為0時,選中“男“,值為1;當VALUE為0時,選中“女“,值為”男“。BUTTONCOUNT:設置命令按鈕組或選項按鈕組的按鈕數。可設置為0,此時該控件無按鈕。組合框控件(COMBO)STYLE:設置該控件是0——下拉組合框(可直接輸入數據)2——下拉列表框(只能選擇)不能多選SELECTED:判斷某一條目是否被選中。默認.F.IFTHISFORM.COMBO1.SELECTED(3)=.T.組合框的第三個條目被選中。列表框(LIST)MULTISELECT:是否允許多重選擇。默認.F.ROWSOURCETYPE:3——SQL語句。此時ROWSOURCE=”SELECT```FROM```INTOCURSOR```”4——查詢(.QPR)5——數組6——字段此時ROWSOURCE中的字段必須來自同一張表。8——結構。將表中的字段名作為組合框的條目,由ROWSOURCE屬性指定表。若ROWSOURCE屬性值為空,則組合框顯示當前表中的字段名清單。ROWSOURCE:復選框(CHECK)CAPTION:文字VALUE:只能是N型或L型。選中時值可為.T.或1;未選中時可為.F.或0。頁框控件(PAGEFRAME)PAGECOUNT:頁面數量12.表格(GRID)COLUMNCOUNT:設置表格列數。記錄來源的類型RECORDSOURCETYPE:3——查詢(.QPR)4——SQL語句RECORDSOURCE:13.計時器(時鐘TIMER)INTERVAL:設置時鐘的步長。單位:毫秒1秒=1000毫秒當interval值為0時,表示時鐘控件不動,不執行timer中的代碼。14.微調控件(SPINNER)INCREMENT:增量(步長)。每次增加多少。SPINNERHIGHVALUE:設置向上按鈕可輸入的最大值。SPINNERLOWVALUE:設置向下按鈕可輸入的最小值。KEYBOARDHIGHVALUE:設置鍵盤輸入的最大值。KEYBOARDLOWVALUE:設置鍵盤輸入的最小值。VALUE:設置微調控件的初始值以及保存最后結果。15.圖像控件(IMAGE)PICTUER:指定要顯示的圖片文件。STRETCH:設置圖片的伸縮方式。1——剪裁(圖片左上角)2——等比縮放3——等比填充16.線條(LINE)SLANT:設置線條傾斜方向。(找不到)17.容器(CONTAINER)定義:裝載除表單、表單集之外的任何控件。SPECIALEFFCT:設置容器的特效。指三維0——凸1——凹2——平READONLY:只讀(找不到)ENABLED:控件是否可用。默認.T.VISIBLE:控件是否可見。默認.T.當且僅當readonly、enabled、visible的值分別為.f.,.t.,.t.時,控件的值才能修改。 事件:某一個動作發生時觸發某一個事件。DBLCLICK:雙擊(左)RIGHTCLICK:右單擊CLICK:單擊LOAD:所有事件中第一個被觸發的事件。INIT:初始化事件。所有事件中第二個被觸發的事件。先初始化事件,再初始化表單。UNLOAD:關閉表單時,所有事件中最后一個觸發的事件。DESTROY:對應INIT.所有事件中倒數第二個被觸發的事件。順序:load表單——init控件——init表單——destroy表單——destroy控件——unload表單GOTFOCUS:表示控件獲得焦點時會引發···LOSTFOCUS:表示控件失去焦點時會引發···WHEN:表示控件獲得焦點之前會引發···VALID:表示控件失去焦點前會引發···引發次序:when——gotfocus——valid——lostfocusERROR:當控件發生錯誤時引發···INTERACTIVECHANGE:當控件中的數據發生改變時會引發···TIMER:當時鐘走動時會引發···方法:RELEASE():釋放表單考試中釋放表單用此語句:THISFORM.RELEASE()REFRESH():刷新表單、文本框和表格,讓控件顯示最新的值。SHOW():顯示表單。將表單的visible改為邏輯真.T.HIDE():隱藏表單。將表單的visible改為.F.SETFOCUS():使某個控件或得焦點。ADDITEM():向組合框或列表框添加一些條目。REMOVEITEM():向組合框或列表框刪除一些條目。頂層表單中調用菜單的基本步驟:新建菜單,并將菜單的常規選項框中的頂層表單選中,再生成菜單程序文件。建立表單,將表單的showwindow設置為2——作為頂層表單。在表單的load或init事件中用如下命令來調用菜單:DO菜單程序文件名.MPRITHTHIS,.T.調用快捷菜單的方法:建立快捷菜單,并生成菜單程序文件。在表單的rightclick事件中,用如下命令來調用:DO菜單程序文件名.MPR帶參調用表單的方法:DOFORMAA(表單文件名)WITHA,B(實參名)NAMECC(表單別名)LINKED此時表單init事件必須用:parameters形參列表(c,d)或lparameters形參列表。釋放變量CC的同時表單AA會自動關閉。建立類:在表單上將該控件設置好。選中該控件,并選擇“文件“下的”另存為類“。輸入類庫文件名和類名,并保存。表的基本操作命令共18個命令CREATE創建表MODIFYSTRUCTURE修改表結構APPEND追加記錄GO(GOTO)絕對定位SKIP相對定位DELETE邏輯刪除記錄(給記錄添加刪除標記)RECALL恢復帶刪除符號的記錄PACK物理刪除記錄(刪除帶刪除標記的記錄)ZAP清空所有記錄EDIT?BROWSE瀏覽DISPLAY顯示記錄LIST顯示記錄INSERT插入記錄COPYTO復制記錄COPYSTRUCTURETO復制表結構APPENDFROMUSE打開或關閉表文件四個標識符:TOP:第一條BOTTON:最后一條BOF:記錄指針向上時能移動到的位置。EOF:記錄指針向下時能移動到的位置。當指針指向EOF時,用RECNO()函數的測試結果為該表的總記錄數+1。表達式和函數表達式結果類型(1)算術表達式N(2)字符表達式C只可進行“+”、“—”(尾隨空格向后移)(3)關系表達式L>,<,>=,<=,=,!=,$,==(4)邏輯型L(5)日期表達式D/N(日期想減的結果)注意:(1)除LIKE中*表示通配符,其余*表示普通字符。“張三”=“張”.T.姓名=“張”表示姓張的人。姓名=“張*”表示姓名為“張*”考試中,見到日期型數據相加就選;見到時間型數據相加的答案就選;日期相減結果為相差天數,時間相減結果為相差秒數。應付考試:WHERE,FOR,WHILE,CHECK后面的表達式均為邏輯表達式。(不嚴謹)DATE()——DATE()N0TIME()——TIME()CDATETIME()——DATETIME()N0函數(其他任要求看)針對此次考試,答案一律找以下。TYPE()N()VARTYPE()LFOUND().F.EOF().T.LEN()為最外層函數5ISNULL().F.EMPTY()在不確定的情況下.F.TIME()C.NULL.=.NULL.結果為.NULL..NULL.=30結果為.NULL.NOT.NULL.=.NULL.結果為.NULL..NULL.<>.NULL.結果為.NULL.見到?姓名,結果一律寫當前記錄的姓名(不管內存變量的值)STUDENT.DBF姓名張三李四王八USESTUDENTGO2姓名=“王五”?姓名答案為“李四”表示姓“張”的方法:LEFT(姓名,2)=“張”SETEXACTOFF(默認就是)姓名=“張”SUBSTR(姓名,1,2)=“張”AT(“張”,姓名)=1LIKE(“張*”,姓名)=1姓名LIKE“張%”(只用在SELECT語句中)數據計算SUM()縱向求和AVERAGE()縱向求平均值COUNT()統計記錄數REPLACETOTAL()分類匯總REPLACE[范圍]字段名WITH表達式FOR表達式UPDATE表文件名SET字段名=表達式WHERE表達式考試中,見到REPLACE找到WITH,FOR;見到UPDATE找到SET,=,WHERE。REPLACE后可加范圍,而UPDATE后不能加范圍,只能加表文件名。四個范圍:ALLNEXTnREST?數據排序(每次6分)數據排序分為:物理排序和邏輯排序(索引)三種索引文件包括:結構復合索引文件、非結構復合索引文件和獨立索引文件。結構復合索引文件(功能最強)內含:一個文件有多種索引方式,可包含主索引、候選索引、唯一索引和普通索引。排序可升可降。外形:主文件名與表文件的主文件名同名,擴展名為.CDX使用:它會隨著表文件的打開或關閉自動地打開或關閉。不能用命令的方式來打開或關閉。一旦在表設計器中指定索引之后,該文件將自動生成。非結構復合索引文件內含:一個文件包含多種索引文件,可包含唯一索引和普通索引。排序可升可降。外形:主文件名與表文件的主文件名不相同,擴展名為.CDX使用:不會隨著表文件的打開或關閉自動地打開或關閉。獨立索引文件內含:一個文件只能包含一種索引方式,只能是唯一索引或普通索引,只能升序。外形:主文件名無要求,可任意。擴展名.IDX使用:不會隨著表文件的打開或關閉自動地打開或關閉。四種索引類型的特點(1)主索引只能根據數據庫表在結構復合索引文件中建立,而且一個表文件只能建立一個主索引。已經建立了主索引的字段不允許有重復的值或空值,從而實現數據的實體完整性。(2)候選索引可根據數據庫表或自由表在結構復合索引文件中建立,而且一個表文件可以建立多個候選索引,建立了候選索引的字段不允許有重復的值或空值。(3)唯一索引允許有重復的值。只是所有重復的記錄中只有第一條有效,其他的記錄都被屏蔽。普通索引所有記錄均有效,在建立一對多關系中的多方。關鍵字主索引:PRIMARYKEY(SQL中)候選索引:SQL語言中用UNIQUEINDEX命令中用CAMMIDATE唯一索引:SQL中DISTINCTINDEX中用UNIQUE普通索引:無任何關鍵字升序和降序:INDEX中ASCEDESCSQL中ASCDESC5.索引命令(1)INDEXON索引關鍵字TAG索引名功能:建立或修改結構復合索引文件INDEXON索引關鍵字TAG索引名OF結構復合索引文件名.CDX功能:修改結構復合索引文件INDEXON關鍵字TAG索引名OF非結構復合索引文件.CDX功能:建立或修改非結構復合索引文件INDEXON關鍵字TO獨立索引文件.CDX功能:建立或修改獨立索引文件打開索引文件:SETINDEXTO索引文件名列表功能:打開非結構復合索引文件或獨立索引文件SETINDEXTO功能:關閉所有非結構復合索引文件或獨立索引文件SETORDERTOTAG索引名功能:設置當前主控索引方式SETORDERTO索引序號功能:設置當前主控索引方式(7)、(8)常考,注意區別。(9)DELETETAG索引名功能:刪除在指定的索引方式(10)DELETETAGALL功能:刪除所有的索引方式(11)REINDEX功能:重建(更新)索引數據查詢LOCATEFOR查找第一條滿足條件的記錄CONTINUE從當前記錄開始往下查找,滿足和它最接近的上一個LOCATE命令條件的記錄。EG:LOCATEFOR表達式1LOCATEFOR表達式2CONTINUE多表之間的操作1.工作區共有32,767個(2的n次方得出)工作區標號:(1)1,2,3···32,767(2)A-J,W11,W12···W32,767工作區的選擇:(1)SELECT工作區號/別名(2)SELECT0打開當前空閑工作區號最小的工作區2.建立臨時表間關系SETRELATIONTO建立臨時表間關系(關聯),目的是實現指針的聯動。注意:(1)永久表間關系不需要打開表,臨時表間關系必須打開表。(2)永久表間關系需要數據庫表,臨時表間關系無所謂。(3)永久表間關系必須都索引;臨時表間關系只需要子表建索引,甚至可以都不建索引。程序設計程序的三種基本結構:順序結構、選擇結構和循環結構。LOOP:結束本輪循環,返回循環頭,進入下一輪判斷和循環過程。EXIT:結束整個循環語句,退出循環體。執行循環語句之后的其他語句。LOOP、EXIT只能用在循環語句當中。三個循環DOWHILEENDDOFORENDFORSCANENDSCAN內存變量的三種類型根據變量作用域分為:全局變量:在程序中用PUBLIC聲明的內存變量,它在任何地方都有效。局部變量:在程序中用LOCAL聲明的內存變量,它只能在定義它的該模塊中有效。私有變量:在程序中用PRIVATE聲明的內存變量,它在定義它的該模塊以及該模塊嵌套的所有子模塊中有效。數據的命令定義DIMENSION數組名(維下標1,維下標2)DECLARE數組名(維下標1,維下標2)數組元素在定義之后,賦值之前為邏輯型,值為邏輯假.F.內存變量的釋放RELEASEALLLIKEa*釋放所有變量名以a開頭的內存變量。在帶參調用中,實參不能多于形參;形參可以多于實參,多于的形參值為假。 SQL語言(筆試30分上機60份)SQL:STRUCTUREDQUERYLANGUAGE包括:數據定義(5)、數據操縱(3)和數據查詢(1)數據定義的命令(5個3個TABLE2個VIEW)三個TABLE:CREATETABLEALTERTABLEDROPTABLE兩個VIEW:CREATEVIEWDROPVIEW數據操縱(3個)插入記錄:INSERTINTO修改記錄:UPDATESET=刪除記錄:DELETEFROM(3)數據查詢(1個)SELECT詳細:數據定義CREATETABLE主索引:PRIMARYKEY候選索引:UNIQUEINDEX命令中用CANDIDATE唯一索引:DISTINCTINDEX命令中用UNIQUE自由表:FREE無FREE時表的類型不確定,要看數據庫是否打開。允許字段為空值:NULL與PRAMARYKEY不能同時使用。有效性規則:CHECK字符表達式必須為邏輯型。有類型無SET,無類型加SET。錯誤信息:ERROR表達式必須為C型默認值:DEFAULT表達式與該字段類型相同EG:①CREATETABLEDJKSFREE(考號C(6),姓名C(8),筆試N(3),上機N(3))②CREATETABLEDJKS(考號C(6)PRIMARYKEY,姓名C(8),筆試N(3),上機N(3))③CREATETABLEDJKS(考號C(6)NULL,姓名C(8),筆試N(3),上機N(3))②ALTERTABLE修改表結構對字段進行操作ADDCOLUMN增加字段DROPTABLE刪除字段(只寫字段名,不加類型寬度)ALTERCOLUM修改字段(除字段名以外的信息)RENAMECOLUMN···TO···重命名字段(只寫字段名,不加類型寬度)③DROPTABLE刪除表文件④CREATEVIEW視圖名ASSELECT語句建立視圖⑤DROPVIEW刪除視圖使用④⑤命令時,一定要確保數據庫處于打開狀態。視圖不是文件,不能對它使用修改結構的命令。MODIFYVIEW修改視圖名,不屬于SQL語句。(2)數據操縱對記錄進行操作①INSERTINTO表[字段列表]VALUES(表達式列表)②UPDATE表SET字段名=表達式WHERE表達式(3)DELETEFROM表WHERE表達式邏輯刪除記錄真正刪除用PACK,但只對當前工作區有效。ZAP刪除全部記錄要實現真正刪除:DELETEFROM表WHERE表達式LISTCLOSEALLUSE表PACK(3)數據查詢重點①簡單查詢只有一個表②簡單聯接查詢注意:聯接條件字段名前一定加別名(即表名默認)先看表的字段,觀察各表間的公共字段。③嵌套查詢注意:所有都不逆向思維+NOTIN每有任何EG:將所有職工工資都不低于1220的倉庫信息查詢出來。SELECTCK.*;FROMCKWHERECK.倉庫號NOTIN;(SELECTZG.倉庫號;FROMZG;WHEREZG.工資<1220)將所有紙盒單價超過500元的訂單有業務聯系的職工信息查詢出來。SELECTZG.*;FROMZG;WHEREZG.職工號NOTIN;(SELECTDGD.職工號;FROMDGD;WHEREDGD.單價<500)請將所有成績都不及格的學生信息查詢出來。SELECTSTUDENT.*;FROMSTUDENT;WHERESTUDENT.學號NOTIN(SELECTSCORE.學號FROMSCOREWHERESCORE.成績>=60)④內外層相互嵌套查詢格式:SELECT···;FROM外表;WHERE外表.N型字段=;(SELECTMAX(內表.同名字段);FROM內表;WHERE內表.關鍵字=外表.關鍵字)EG:將每個倉庫中工資最高的職工信息查詢出來。SELECT*;FROMZGOUT;給表取別名WHEREOUT.工資=;(SELECTMAX(IN.工資);FROMZGIN;WHEREIN.倉庫號=OUT.倉庫號)?GROUPBY請將每個城市中倉庫面積最大的倉庫信息查詢出來。SELECTOUT.*;FROMCKOUT;WHEREOUT.面積=;(SELECTMAX(IN.面積);FROMCKIN;WHEREIN.城市=OUT.城市)⑤分組計算查詢五個函數:MAX()MIN()SUM()AVG()COUNT()注意;遇到五個函數嚴格要用GROUPBY,分組字段名找“每個···”“各個···”后的字段。找某某號,某某碼只能寫在SELECT或HAVING之后,不用在WHERE或ORDERBY之后。有HAVING就必須有GROUPBY,并且HAVING必須跟在GROUPBY之后。求出每個學生的姓名、平均分,并按平均分降序。SELECTSTUDENT.姓名,AVG(SCORE.成績)AS平均分;FROMSTUDENT,SCORE;WHERESTUDENT.學號=SCORE.學號;GROUPBYSTUDENT.學號;ORDERBY2*最終字段的第二個*DESC請將選修了3門以上的課程的學生的姓名、平均分查詢出來。SELECTSTUDENT.姓名,AVG(SCORE.成績)AS平均分;FROMSTUDENT,SCORE;WHERESTUDENT.學號=SCORE.學號;GROUPBYSTUDENT.學號HAVINGCOUNT(*)>=3⑥超聯接查詢INNERJOIN內聯接查詢兩表都有的記錄才會出現LEFTJOIN左聯接查詢左表有的記錄就會出現在查詢中RIGHTJOIN右聯接查詢右表中的記錄FULLJOIN完全聯接左、右表中都有的記錄SELECT語句中:左表JOIN右表有JOIN就必須有ON,而且ON必須寫在所有JOIN的后面,有多少個JOIN就必須有多少個ON.兩表聯接:SELECT···;FROMaaJOINbb;內聯接ONaa.學號=bb.學號三表聯接:SELECT···;FROMaaJOINbbJOINcc;ONbb.學號=cc.學號ONaa.學號=bb.學號ON之后的表達式從最后一個JOIN寫起。謂詞(動詞)和量詞:謂詞:IN屬于NOTIN不屬于EXIST存在NOTEXIST不存在量詞:SOMEANYALLSOME和ANY完全等價>ALL即>MAX<ALL即<MIN<ANY即<MAX<ANY即>MIN請查詢其他倉庫工資大于此倉庫最高工資的職工信息。SELECTZG.*;FROMZGOUT;WHEREOUT.工資>;(SELECTMAX(IN.工資);FROMZGIN;WHEREIN.倉庫號!=OUT倉庫號.)請查詢無成績的學生信息。SELECTSTUDENT.*;FROMSTUDENT:WHERENOTEXIST;(SELECT*;FROMSCORE,STUDENT;WHERESCORE.學號=STUDENT.學號)請查詢不及格的學生信息。SELECTSTUDENT.*;FROMSTUDENT:WHERENOTEXIST;(SELECT*;FROMSCORE,STUDENT;WHERESCORE.學號=STUDENT.學號AND成績<=60)SELECTOUT.*;FROMZGOUT;WHEREOUT.工資>ALL;(SELECTMAX(IN.工資);FROMZGIN;WHEREIN.倉庫號#OUT.倉庫號)運算符:1.BETWEENAND閉區間成績BETWEEN60AND100等價于成績>=60AND成績<=100NOT(成績BETWEEN60AND100)等價于成績<60OR成績>100畫數軸2.LIKE用于字符串的相似比較,只用在SQL后。姓名LIKE(王%)或姓名LIKE“王%”表示:所有姓王的%表示:若干個任意字符_表示:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論