版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章第三章 使用查詢使用查詢第一節(jié)第一節(jié) 查詢的概述查詢的概述查詢概述 在Access 2010 數(shù)據(jù)庫中,表是存儲(chǔ)數(shù)據(jù)的最基本的數(shù)據(jù)庫對象,而查詢則是對表中的數(shù)據(jù)進(jìn)行檢索、統(tǒng)計(jì)、分析、查看和更改的又一個(gè)非常重要的數(shù)據(jù)庫對象。一、查詢的概念一、查詢的概念 查詢是根據(jù)一定的條件,從一個(gè)或多個(gè)表或查詢中提取數(shù)據(jù)并進(jìn)行加工處理,返回一個(gè)新的數(shù)據(jù)集合,以方便對數(shù)據(jù)進(jìn)行查看和分析。 查詢是一張“虛表”,是臨時(shí)的動(dòng)態(tài)的數(shù)據(jù)的集合。當(dāng)關(guān)閉查詢的數(shù)據(jù)表視圖時(shí),保存的是查詢的結(jié)構(gòu),并不是保存查詢結(jié)果的動(dòng)態(tài)數(shù)據(jù)表。 建立查詢之前,一定要先建立表與表之間的關(guān)系。建立查詢之前,一定要先建立表與表之間的關(guān)系。二、查詢
2、的功能二、查詢的功能 查詢主要有如下幾個(gè)方面的功能: (1)選擇字段選擇字段:選擇表中的部分字段生成所需的表或多個(gè)數(shù)據(jù)集。在查詢結(jié)果中可以只含有表中的部分字段。 (2)選擇記錄選擇記錄:根據(jù)指定的條件查找所需的記錄,并顯示查找的記錄。在查詢的結(jié)果中,只含有符合指定條件的記錄。 (3)編輯記錄編輯記錄:即利用查詢添加、修改和刪除表中的記錄。(更新查詢、刪除查詢) (4)實(shí)現(xiàn)計(jì)算實(shí)現(xiàn)計(jì)算:查詢滿足條件的記錄,還可以在建立查詢過程中進(jìn)行各種計(jì)算。(計(jì)算平均成績,年齡等)即在查詢中進(jìn)行各種統(tǒng)計(jì)計(jì)算,也可以建立一個(gè)計(jì)算字段來保存計(jì)算的結(jié)果。 (5)建立新表建立新表:操作查詢中的生成表查詢可以建立新表。即
3、利用查詢的結(jié)果創(chuàng)建一個(gè)新表。 (6)為報(bào)表或窗體提供數(shù)據(jù)為報(bào)表或窗體提供數(shù)據(jù):即以查詢的結(jié)果可以作為建立報(bào)表、窗體和查詢的數(shù)據(jù)源。三、查詢的分類三、查詢的分類 根據(jù)對數(shù)據(jù)源的操作方式及查詢結(jié)果的不同,access 2010提供的查詢可以分為5種類型,分別是選擇查詢、交叉表查詢、操作查詢、SQL查詢、參數(shù)查詢 。1 1、選擇查詢、選擇查詢 是根據(jù)指定的條件,從一個(gè)或多個(gè)表中獲取數(shù)據(jù)并在“數(shù)據(jù)表視圖”中顯示結(jié)果。 選擇查詢可以對記錄進(jìn)行分組,并且對分組的記錄進(jìn)行求和、計(jì)數(shù)、求平均值以及其它類型的計(jì)算。 選擇查詢產(chǎn)生的結(jié)果是一個(gè)動(dòng)態(tài)的記錄集,不會(huì)改變源數(shù)據(jù)表中的數(shù)據(jù)。例:在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫的“
4、學(xué)生”表里,查找出1986年后(出生的女學(xué)生的姓名、性別和出生日期。使用查詢的“設(shè)計(jì)視圖”創(chuàng)建出該查詢,其設(shè)計(jì)視圖如圖所示。當(dāng)運(yùn)行該查詢時(shí),以“數(shù)據(jù)表視圖”方式顯示出該查詢的結(jié)果,如圖所示。設(shè)計(jì)視圖查詢結(jié)果2 2、交叉表查詢、交叉表查詢 使用交叉表查詢可以計(jì)算并重新組織數(shù)據(jù)的結(jié)構(gòu),這樣可以更加方便地分析數(shù)據(jù)。交叉表查詢可以對記錄作合計(jì)、平均值、計(jì)數(shù)等計(jì)算,這種數(shù)據(jù)可分為兩組信息:一類在數(shù)據(jù)表左側(cè)排列,另一類在數(shù)據(jù)表的頂端。例如:在“學(xué)生管理系統(tǒng) ”數(shù)據(jù)庫的“學(xué)生表”中,統(tǒng)計(jì)出各班男、女生總?cè)藬?shù),利用交叉表查詢結(jié)果為:3 3、操作查詢、操作查詢 操作查詢是這樣一種查詢,使用這種查詢只需進(jìn)行一次操
5、作就可以對許多記錄進(jìn)行更改和移動(dòng)。有如下四種操作查詢:更新查詢更新查詢 對一個(gè)或多個(gè)表中的一組符合條件的記錄進(jìn)行批量修改某字段的值。刪除查詢刪除查詢 從一個(gè)或多個(gè)表中刪除一組符合條件的記錄。追加查詢追加查詢 將一個(gè)或多個(gè)表中的一組符合條件的記錄添加到另一個(gè)表的末尾。生成表查詢生成表查詢 將查詢的結(jié)果轉(zhuǎn)存為新表。4 4、SQLSQL查詢查詢 SQL查詢是用戶使用SQL語句創(chuàng)建的查詢??梢杂媒Y(jié)構(gòu)化查詢語言(SQL)來查詢、更新和管理Access這樣的關(guān)系數(shù)據(jù)庫。在查詢的“設(shè)計(jì)視圖”中創(chuàng)建查詢時(shí),Access將在后臺構(gòu)造等效的SQL語句。SQL查詢主要包括:查詢主要包括:聯(lián)合查詢聯(lián)合查詢 聯(lián)合查詢是
6、將多個(gè)表或查詢中的字段合并到查詢結(jié)果的一個(gè)字段中。 使用聯(lián)合查詢可以合并多個(gè)表中的數(shù)據(jù),并可以根據(jù)聯(lián)合查詢生成一個(gè)新表。傳遞查詢傳遞查詢 傳遞查詢可以直接將命令發(fā)送到ODBC數(shù)據(jù)庫服務(wù)器中,而不需要事先建立鏈接。 利用傳遞查詢可以直接使用其它數(shù)據(jù)庫管理系統(tǒng)中的表。數(shù)據(jù)定義查詢數(shù)據(jù)定義查詢 利用數(shù)據(jù)定義查詢可以創(chuàng)建、刪除或更改表,或者在數(shù)據(jù)庫表中創(chuàng)建索引。子查詢子查詢 是包含在另一個(gè)查詢之內(nèi)的SQL-SELECT語句,即嵌套在查詢中的查詢。5 5、參數(shù)查詢、參數(shù)查詢 參數(shù)查詢是一種交互式查詢,即利用對話框提示用戶輸入查詢條件后查詢滿足條件的記錄。第二節(jié)第二節(jié) 創(chuàng)建選擇查詢創(chuàng)建選擇查詢 一、利用查
7、詢向?qū)?chuàng)建查詢一、利用查詢向?qū)?chuàng)建查詢 可以使用查詢向?qū)?chuàng)建查詢,常用的查詢向?qū)в校?簡單查詢向?qū)В?交叉表查詢向?qū)В?查找重復(fù)項(xiàng)查詢向?qū)В?查找不匹配項(xiàng)查詢向?qū)А?、使用簡單查詢向?qū)Вā⑹褂煤唵尾樵兿驅(qū)В≒65) 使用查詢向?qū)?chuàng)建查詢,可以在向?qū)е甘鞠逻x擇一個(gè)或多個(gè)表、一個(gè)或多個(gè)字段,但不能設(shè)置查詢條件。 簡單查詢向?qū)怯玫淖顝V泛的一種查詢向?qū)?,用于將一個(gè)或多個(gè)表中的數(shù)據(jù)按照指定的條件進(jìn)行檢索和篩選,還可以進(jìn)行匯總計(jì)算。注意:注意: 1、在數(shù)據(jù)表視圖顯示查詢結(jié)果時(shí),字段的排列順序與在“簡單查詢向?qū)А睂υ捒蛑羞x定字段的順序相同。故在選定字段時(shí),應(yīng)考慮按照字段的顯示順序選取。 2、當(dāng)所建查詢的數(shù)
8、據(jù)源來自于多個(gè)表時(shí),應(yīng)建立表之間的關(guān)系。二、交叉表查詢向?qū)Ф?、交叉表查詢向?qū)В≒66P66) 交叉表査詢是將來源于某個(gè)表中的字段進(jìn)行分組,一組列在交叉表左側(cè),一組列在交叉表上部,并在交叉表行與列交叉處顯示表中某個(gè)字段的各種計(jì)算值。 在創(chuàng)建交叉表查詢時(shí),需要指定3種字段:一是放在交叉表最左端的行標(biāo)題行標(biāo)題,它將某一字段的相關(guān)數(shù)據(jù)放入指定的行中;二是放在交叉表最上面的列標(biāo)題列標(biāo)題,它將某一字段的相關(guān)數(shù)據(jù)放入指定的列中;三是放在交叉表行與列交叉位置上的字段,需要為該字段指定一個(gè)總計(jì)項(xiàng)總計(jì)項(xiàng),如總計(jì)、平均值、計(jì)數(shù)等。在交叉表查詢中,只能指定一個(gè)列字段和一個(gè)總計(jì)類型的字段。 交叉表查詢是以行和列的字段作
9、為標(biāo)題和條件選取數(shù)據(jù),并在行與列的交叉處對數(shù)據(jù)進(jìn)行匯總和統(tǒng)計(jì)計(jì)算。 設(shè)計(jì)交叉表查詢需要字義3種字段: 處于數(shù)據(jù)表最左端的行標(biāo)題字段行標(biāo)題字段 把某一字段或相關(guān)數(shù)據(jù)放入指定的一行中。 處于數(shù)據(jù)表最上邊的列標(biāo)題字段列標(biāo)題字段 對每一列指定的字段進(jìn)行統(tǒng)計(jì),并將統(tǒng)計(jì)結(jié)果放在該列。 處于行和列交叉位置的值字段值字段 可以為該字段指定總計(jì)項(xiàng)。在交叉表查詢中:在交叉表查詢中: 只能指定一個(gè)列字段和一個(gè)總計(jì)類型的字段。只能指定一個(gè)列字段和一個(gè)總計(jì)類型的字段。 可以通過設(shè)置一個(gè)或多個(gè)行標(biāo)題,創(chuàng)建多級交叉表查詢??梢酝ㄟ^設(shè)置一個(gè)或多個(gè)行標(biāo)題,創(chuàng)建多級交叉表查詢。 交叉表查詢向?qū)У臄?shù)據(jù)源只能來自于一張表或查詢。若來
10、自多個(gè)表,可先建立一個(gè)查詢,而后以此查詢作為數(shù)據(jù)源使用向?qū)?chuàng)建,或者直接在設(shè)計(jì)視圖下創(chuàng)建。 行標(biāo)題最多3個(gè),列標(biāo)題1個(gè),值字段1個(gè)。三三、查、查找重復(fù)項(xiàng)查詢找重復(fù)項(xiàng)查詢向?qū)驅(qū)В≒68P68) 根據(jù)“查找重復(fù)項(xiàng)”查詢的結(jié)果,可以確定在表中是否有重復(fù)的記錄,或記錄在表中是否共享相同的值。 例如,可以搜索“姓名”字段中的重復(fù)值來確定同名學(xué)生是否為重復(fù)記錄。四四、查、查找不匹配項(xiàng)查詢找不匹配項(xiàng)查詢向?qū)驅(qū)В≒69P69) 查找不匹配項(xiàng)查詢的作用是供用戶在一個(gè)表中找出另一個(gè)表中所沒有的相關(guān)記錄。在具有一對多關(guān)系的兩個(gè)數(shù)據(jù)表中,對于“一”方的表中的每一條記錄,在“多”方的表中可能有一條或多條甚至沒有記錄
11、與之對應(yīng),使用不匹配項(xiàng)查詢向?qū)В涂梢圆檎页瞿切┰凇岸唷狈街袥]有對應(yīng)記錄的“一”方數(shù)據(jù)表中的記錄。 二、利用查詢設(shè)計(jì)器創(chuàng)建選擇查詢(二、利用查詢設(shè)計(jì)器創(chuàng)建選擇查詢(P71) 對于簡單的查詢,使用向?qū)П容^方便,但是對于有條件的查詢,則無法使用向?qū)韯?chuàng)建,而是需要在“條件視圖”中創(chuàng)建。 使用查詢設(shè)計(jì)器創(chuàng)建選擇查詢有三個(gè)要點(diǎn):1 1、確定查詢數(shù)據(jù)源、確定查詢數(shù)據(jù)源2 2、指定查詢輸出字段、指定查詢輸出字段3 3、設(shè)置查詢準(zhǔn)則、設(shè)置查詢準(zhǔn)則 這為用戶查詢提供了更大的自由度,但同時(shí)也增加了難度,其中的關(guān)鍵是如何設(shè)置查詢準(zhǔn)則。 查詢設(shè)計(jì)器是一個(gè)設(shè)計(jì)查詢的窗口,包含了創(chuàng)建查詢所需要的各個(gè)組件。用戶只需在各個(gè)
12、組件中設(shè)置一定的內(nèi)容就可以創(chuàng)建一個(gè)查詢。 查詢設(shè)計(jì)窗口分為上下兩部分,上部為表查詢的字段列表,顯示添加到查詢中的數(shù)據(jù)表或查詢的字段列表;下部為查詢的設(shè)計(jì)網(wǎng)格區(qū),定義查詢的字段,并將表達(dá)式作為條件,限制查詢的結(jié)果;中間是可以調(diào)節(jié)的分隔線;標(biāo)題欄顯示查詢的名稱,如圖3-13所示(P71)。用戶只需要在各個(gè)組件中設(shè)置一定的內(nèi)容就可以創(chuàng)建一個(gè)查詢。 在查詢設(shè)計(jì)網(wǎng)格中,可以詳細(xì)設(shè)置查詢的內(nèi)容,具體內(nèi)容的功能如下: (1)字段:字段:查詢所需要的字段。每個(gè)查詢至少包括一個(gè)字段,也可以包含多個(gè)字段。如果與字段對應(yīng)的“顯示” 復(fù)選框被選中,則表示該字段將顯示在查詢的結(jié)果中。 (2)表:表:指定查詢的數(shù)據(jù)來源表
13、或其他查詢。 (3)排序:排序:指定查詢的結(jié)果是否進(jìn)行排序。排序方式 包括“升序”、“降序”和“不排序”三種。 (4)條件:條件:指定用戶用于查詢的條件或要求。(5)或:或:用來提供多個(gè)查詢條件。 在條件構(gòu)建時(shí),如果對多個(gè)字段進(jìn)行條件設(shè)置,如果各字段間的條件關(guān)系是與的關(guān)系,條件放在同一行;或關(guān)系,條件放在不同行。 條件是指在查詢中用來限制檢索記錄的條件表達(dá)式,它是符、常量、函數(shù)和字段名稱等的任意組合,計(jì)算結(jié)果為單個(gè)值。通過條件可以過濾掉很多不需要的數(shù)據(jù)。 單個(gè)的常量、字段或函數(shù)可以看作表達(dá)式的特例。查詢條件查詢條件1. 1. 運(yùn)算符運(yùn)算符 運(yùn)算符是構(gòu)成查詢條件的基本元素,運(yùn)算符包括關(guān)系運(yùn)算符、
14、邏輯運(yùn)算符和一些特殊的運(yùn)算符。運(yùn)算符運(yùn)算符功能功能舉例舉例含義含義= =等于等于 “犀利哥犀利哥”等于等于“犀利哥犀利哥” 小于小于 100 大于大于 80 80大于大于8080=小于等于小于等于 =90=大于等于大于等于 =99991 11#1#9999年年1 1月月1 1日以后出日以后出生生不等于不等于 1818不等于不等于1818(1)(1)關(guān)系運(yùn)算符關(guān)系運(yùn)算符(2)(2)邏輯運(yùn)算符邏輯運(yùn)算符運(yùn)算符運(yùn)算符功能功能舉例舉例含義含義AndAnd邏輯邏輯與與“團(tuán)員團(tuán)員” And And “男男”是男生團(tuán)員的是男生團(tuán)員的OrOr邏輯邏輯或或“團(tuán)員團(tuán)員” Or Or “男男”是男生或是團(tuán)員任是男生
15、或是團(tuán)員任意一個(gè)意一個(gè) NotNot邏輯邏輯非非Not Not “團(tuán)員團(tuán)員”不是團(tuán)員的不是團(tuán)員的(3)(3)特殊運(yùn)算符特殊運(yùn)算符運(yùn)算符運(yùn)算符功能功能舉例舉例含義含義BetweenBetween決定一個(gè)數(shù)值是否在一決定一個(gè)數(shù)值是否在一個(gè)指定值得范圍內(nèi)個(gè)指定值得范圍內(nèi)BetweenBetween 1 And 101 And 10在在1 1到到1010之間之間InIn決定一個(gè)字符串是否是決定一個(gè)字符串是否是一列表值的成員一列表值的成員In(In(“團(tuán)員團(tuán)員”,“男男”) )是是“團(tuán)員團(tuán)員”或是男生中或是男生中的任意一個(gè)的任意一個(gè)IsIs與與NullNull一起使用,以決一起使用,以決定一個(gè)值是否是定
16、一個(gè)值是否是NullNull或或Not Null Not Null Is Null Is Null Is Not NullIs Not Null表示該字段無數(shù)據(jù)表示該字段無數(shù)據(jù)該字段有數(shù)據(jù)該字段有數(shù)據(jù)LikeLike決定一個(gè)字符串是否以決定一個(gè)字符串是否以一個(gè)或更多字符開始,一個(gè)或更多字符開始,需要通配符需要通配符“* *”號或號或“?”號以使號以使LikeLike運(yùn)算運(yùn)算符正確的使用。符正確的使用。Like Like “a a* *”Like Like “File?File?”以以“a a”開頭的字符串開頭的字符串以以FileFile開頭,后開頭,后3 3位為任位為任意的字符意的字符(專用文
17、本或備注數(shù)據(jù)(專用文本或備注數(shù)據(jù)類型)類型)通配符功能舉例*表示任何數(shù)目的字符,可以用在字符串的任何地方Wh*,可以通配What,When,While等*at可以通配cat,bat,what等?表示任何單個(gè)字符或單個(gè)漢字B?ll可以通配Ball,Bell,Bill等#表示任何一位數(shù)字1#3可以通配103,113,123等 表示括號內(nèi)的任何單一字符Baell可以通配Ball,Bell,但不包括Bill!表示任何不在這個(gè)列表內(nèi)的單一字符B! aell可以通配Bill,Bull等,但不包括Ball,Bell-表示在一個(gè)以遞增順序范圍內(nèi)的任何一個(gè)字符Ba-ed可以通配Bad,Bbd,Bcd,Bed通配
18、符通配符2. 2. 函數(shù)函數(shù) Access系統(tǒng)提供了大量的標(biāo)準(zhǔn)函數(shù),為用戶更好地管理和維護(hù)數(shù)據(jù)庫提供了極大的便利。(1)(1)數(shù)值函數(shù)數(shù)值函數(shù)絕對值函數(shù)絕對值函數(shù)格式:Abs(Abs(數(shù)值表達(dá)式數(shù)值表達(dá)式) )功能:求“數(shù)值表達(dá)式”值的絕對值。 如果“數(shù)值表達(dá)式”的值是Null值,則函數(shù)值是Null值。如果“數(shù)值表達(dá)式”是一個(gè)未初始化的量,則函數(shù)值是0。舉例:Abs(-42)和Abs(42)的值都是42 Abs(9-12)的值是3 Abs(null)的值是? x未賦值,Abs(x)的值是?取整函數(shù)取整函數(shù) 格式: IntInt( (數(shù)值表達(dá)式數(shù)值表達(dá)式) ) 功能:取“數(shù)值表達(dá)式”值的整數(shù)部分
19、值。 說明:當(dāng)“數(shù)值表達(dá)式”是正數(shù)時(shí),返回“數(shù)值表達(dá)式”值的整數(shù)部分(不四舍五人)。 當(dāng)“數(shù)值表達(dá)式”的值是負(fù)數(shù)時(shí),返回小于或等于“數(shù)值表達(dá)式”值的第一個(gè)負(fù)整數(shù)。 舉例: Int(998) 返回99。 Int(-998) 返回-100。 Int(-992) 返回-100。求平方根函數(shù)求平方根函數(shù)格式:SqrSqr( (數(shù)值表達(dá)式數(shù)值表達(dá)式) )功能:計(jì)算“數(shù)值表達(dá)式”值的平方根值。說明:要求“數(shù)值表達(dá)式”的值大于或等于0。舉例:Sqr(4) 返回2。 Sqr(0) 返回0。符號函數(shù)符號函數(shù)格式:SgnSgn()功能:返回“數(shù)值表達(dá)式”值的符號值。說明:當(dāng)“數(shù)值表達(dá)式”值大于0,函數(shù)返回1。當(dāng)“
20、數(shù)值表達(dá)式”值等于0,函數(shù)返回0。當(dāng)“數(shù)值表達(dá)式”值小于0,函數(shù)返回-1。舉例:Sgn(12) 返回 1。 Sgn(-2.4) 返回-1。 Sgn(0) 返回0(2)(2)字符函數(shù)字符函數(shù) 空字符串函數(shù)空字符串函數(shù) 格式:Space(Space(數(shù)值表達(dá)式數(shù)值表達(dá)式) )功能:返回由“數(shù)值表達(dá)式”的值確定的空格個(gè)數(shù)組成的字符串。舉例:Space(5)返回一個(gè)由5個(gè)空格組成的字符串“ ”。重復(fù)字符串函數(shù)重復(fù)字符串函數(shù) 格式:String(String(數(shù)值表達(dá)式,字符串表達(dá)式數(shù)值表達(dá)式,字符串表達(dá)式) )功能:返回一個(gè)由“字符表達(dá)式”的第1個(gè)字符重復(fù)組成的指定長度為“數(shù)值表達(dá)式”值的字符串。說明
21、:如果與二者有一個(gè)是Null,則函數(shù)值為Null。舉例:String(5,“*”) 返回“*”。 String(4,“ABC) 返回AAAA截取左子串函數(shù)截取左子串函數(shù)格式:Left(Left(字符串表達(dá)式,數(shù)值表達(dá)式字符串表達(dá)式,數(shù)值表達(dá)式) )功能:從“字符串表達(dá)式”左側(cè)第1個(gè)字符開始,截取“數(shù)值表達(dá)式”值個(gè)字符。說明: 當(dāng)“字符串表達(dá)式”是Null時(shí),函數(shù)值是Null值。當(dāng)“數(shù)值表達(dá)式”值為0時(shí),函數(shù)值是一個(gè)空串(即:“”)。 當(dāng)“數(shù)值表達(dá)式”值大于或等于“字符串表達(dá)式”的字符數(shù)時(shí),則返回“字符串表達(dá)式”。 舉例:Left(“中國北京”,2) 返回“中國”。 Left(“中國北京”,20
22、) 返回“中國北京”。截取右子串函數(shù)截取右子串函數(shù) 格式:Right(Right(字符串表達(dá)式,數(shù)值表達(dá)式字符串表達(dá)式,數(shù)值表達(dá)式) ) 功能:從“字符串表達(dá)式”的最右端的第1個(gè)字符開始,截取“數(shù)值表達(dá)式”值個(gè)字符。 說明:同。 舉例:Right(“中國北京”,2) 返回“北京”。 Right(“中國北京”,20) 返回“中國北京”。求字符串長度函數(shù)求字符串長度函數(shù) 格式:Len(Len(字符串表達(dá)式字符串表達(dá)式) ) 功能:返回“字符串表達(dá)式”的字符個(gè)數(shù)。 說明:當(dāng)是Null值,則返回Null值。舉例:Len(“中國北京”) 返回?cái)?shù)值4。 Len(“中國 北京”) 返回?cái)?shù)值5。 (中國和北京
23、之間有一個(gè)字符的空格)刪除掉前導(dǎo)、尾隨空格函數(shù)刪除掉前導(dǎo)、尾隨空格函數(shù) 格式: Ltrim(Ltrim(字符串表達(dá)式字符串表達(dá)式) ) RtrimRtrim( (字符串表達(dá)式字符串表達(dá)式) ) TrimTrim( (字符串表達(dá)式字符串表達(dá)式) )功能:Ltrim函數(shù)可以去掉“字符串表達(dá)式”的左邊空格。Rtrim函數(shù)可以去掉“字符串表達(dá)式”的右邊空格。Trim函數(shù)可以同時(shí)去掉“字符串表達(dá)式”的兩邊空格。舉例:mystr“ I am a student ” Ltrim(mystr)返回字符串“I am a student ”。 Rtrim(mystr)返回字符串“ I am a student”。
24、 Trim(mystr)返回字符串“I am a student”。截取子串函數(shù)截取子串函數(shù) 格式:Mid(Mid(字符串表達(dá)式,字符串表達(dá)式,n1n1,n2)n2) 功能;從“字符串表達(dá)式”的左端第“n1”個(gè)字符開始,截取n2”個(gè)字符,作為返回的子字符串。 說明: “n1”和“n2”都是數(shù)值表達(dá)式。 方括號內(nèi)的內(nèi)容是可選的 當(dāng)n2”缺省時(shí),則返回從”字符串表達(dá)式”的左端第”n1”個(gè)字符開始直到“字符串表達(dá)式”的最右端的一個(gè)字符。 舉例:mystr=“中國北京高等職業(yè)教育” Mid(mystr,5) 返回“高等職業(yè)教育”。 Mid(mystr,3,2) 返回“北京”。 Mid(mystr,1,
25、1) 返回“中”。(3)(3)日期時(shí)間函數(shù)日期時(shí)間函數(shù)系統(tǒng)日期函數(shù)系統(tǒng)日期函數(shù) 格式:Date()Date() 功能:返回當(dāng)前系統(tǒng)日期。 舉例:在窗體或報(bào)表上創(chuàng)建一個(gè)文本框,在其控件來源屬性中輸入: Date() 則在控件文本框內(nèi)會(huì)顯示出當(dāng)前機(jī)器系統(tǒng)的日期,如: 2016-07-08年函數(shù)年函數(shù) 格式:Year(Year(日期表達(dá)式日期表達(dá)式) ) 功能:返回年的四位整數(shù)。 舉例:myd:#2016-7-8# Year(myd)返回值2016。 月函數(shù)月函數(shù) 格式:Month(Month(日期表達(dá)式日期表達(dá)式) ) 功能:返回112之間的整數(shù),表示一年的某月。 舉例:Month(myd)返回值
26、7。日函數(shù)日函數(shù) 格式:Day(Day(日期表達(dá)式日期表達(dá)式) ) 功能:返回值為131之間的整數(shù),表示日期中的某一天。 舉例:DayY(myd)返回值為8。系統(tǒng)日期和時(shí)間函數(shù)系統(tǒng)日期和時(shí)間函數(shù) 格式:Now()Now() 功能:返回當(dāng)前機(jī)器系統(tǒng)的日期和時(shí)間。 舉例:在窗體或報(bào)表中創(chuàng)建一個(gè)控件,在其控件來源中輸入: Now() 則在控件中顯示出當(dāng)前機(jī)器系統(tǒng)的日期和時(shí)間,如: 2016-7-8 18:08:10(4)(4)統(tǒng)計(jì)函數(shù)統(tǒng)計(jì)函數(shù)求和函數(shù)求和函數(shù) 格式:Sum(Sum(字符串表達(dá)式字符串表達(dá)式) ) 功能:返回字段中值的總和說明:“字符串表達(dá)式”可以是一個(gè)字段名(數(shù)值類型),或者是含有數(shù)
27、值類型字段的表達(dá)式。字段名用括起來。 舉例:有1個(gè)“單價(jià)”字段和1個(gè)“數(shù)量”字段,求總價(jià)??梢杂肧um函數(shù)計(jì)算其總價(jià): Sum (單價(jià)*數(shù)量) 求平均函數(shù)求平均函數(shù) 格式:AvgAvg( (字符串表達(dá)式字符串表達(dá)式) ) 功能:求數(shù)值類型字段的平均值。 說明: “字符串表達(dá)式”可以是一個(gè)字段名(數(shù)值類型),或者是含有數(shù)值型字段的表達(dá)式。 Avg不計(jì)算任何Null值字段。 舉例:設(shè)有一個(gè)“成績”字段,可用Avg(成績)求平均分。統(tǒng)計(jì)記錄個(gè)數(shù)函數(shù)統(tǒng)計(jì)記錄個(gè)數(shù)函數(shù) 格式:Count(Count(字符串表達(dá)式字符串表達(dá)式) ) 功能:統(tǒng)計(jì)記錄個(gè)數(shù)。 說明: “字符串表達(dá)式”可以是一個(gè)字段名(數(shù)值類型)
28、,或者是含有數(shù)值型字段的表達(dá)式。 當(dāng)用格式Count(*)時(shí),將統(tǒng)計(jì)所有記錄的個(gè)數(shù),包括有Null值字段的記錄。 舉例:Count(學(xué)號)(其中“學(xué)號”為字段名)。統(tǒng)計(jì)學(xué)號字段不是Null值的所有記錄數(shù)。 最大、小值函數(shù)最大、小值函數(shù) 格式: Max(Max(字符串表達(dá)式字符串表達(dá)式) ) MinMin( (字符串表達(dá)式字符串表達(dá)式) ) 功能:返回一組指定字段中的最大、小值。 說明:“字符串表達(dá)式”可以是一個(gè)字段名(數(shù)字類型),或者是含有數(shù)字型字段的表達(dá)式。 舉例:有一個(gè)“成績”字段,可以用Max(成績)求該字段中的最大值,用Min(成績)求該字段中的最小值。 3.使用數(shù)值作為查詢條件使用數(shù)
29、值作為查詢條件字段名條件功能成績 =80 And =90查詢成績小于60分的記錄查詢成績在8090之間的記錄4. 4. 使用文本作為查詢條件使用文本作為查詢條件字段名條件功能職稱“教授”查詢職稱為教授的記錄“教授”O(jiān)r”副教授”查詢職稱為教授或者副教授的記錄Right(職稱,2)=“教授”Instr(職稱,”教授”)=1Or Instr(職稱,”教授”)=2Instr(姓名,”王”)=1Like”王*”查詢姓”王”的記錄Left(姓名,1)=“王”查詢姓名為2個(gè)字的記錄Len(姓名)=2查詢姓名不為李元的記錄Not“李元”“李元”O(jiān)r“王鵬”查詢性別為李元或王鵬的記錄In(“李元”,”王鵬”)
30、姓名功能條件字段名Instr(學(xué)生編號,”03”)=5查詢學(xué)生編號第5個(gè)和第6個(gè)字符為03的記錄Mid(學(xué)生編號,5,2)=“03”學(xué)生編號查詢課程名稱最后2個(gè)字為”基礎(chǔ)”的記錄Right(課程名稱,2)=“基礎(chǔ)”課程名稱功能條件字段名字段名條件功能工作時(shí)間Between #1992-01-01# And #1992-12-31#查詢1992年參加工作的記錄Year(工作時(shí)間)=1992Date()-15查詢15天前參加工作的記錄Between Date()-20 And Date()查詢20天內(nèi)參加工作的記錄Year(工作時(shí)間)=1999 And Month(工作時(shí)間)=4查詢1999年4月
31、參加工作的記錄出生日期Year(出生日期)=1980查詢1980年出生的記錄5.5.使用字段的部分值作為查詢條件使用字段的部分值作為查詢條件字段名條件功能課程名稱Like”計(jì)算機(jī)*”查詢課程名稱以計(jì)算機(jī)開頭的記錄Left(課程名稱,3)=“計(jì)算機(jī)”Like”*計(jì)算機(jī)*”查詢課程名稱包含計(jì)算機(jī)的記錄姓名Not “王*”查詢不姓王的記錄Left(姓名,1)”王”6. 6. 使用空值或空字符串作為查詢條件使用空值或空字符串作為查詢條件字段名條件功能姓名Is null查詢姓名為空值的記錄Is not null查詢姓名不為空值的記錄聯(lián)系電話“”查詢沒有聯(lián)系電話的記錄 在條件中在條件中,字段名必須用,字段
32、名必須用括起來,數(shù)據(jù)類型括起來,數(shù)據(jù)類型必須與字段匹配必須與字段匹配例例 在在“學(xué)生成績學(xué)生成績”數(shù)據(jù)庫中數(shù)據(jù)庫中查找成績小于查找成績小于7070分的女生或成績大于等于分的女生或成績大于等于9090分的男生分的男生在查詢中進(jìn)行計(jì)算在查詢中進(jìn)行計(jì)算(P74)(P74)1.查詢計(jì)算功能查詢計(jì)算功能 在在查詢中可以執(zhí)行兩類計(jì)算查詢中可以執(zhí)行兩類計(jì)算: 一類一類是是預(yù)定義計(jì)算預(yù)定義計(jì)算,又稱匯總計(jì)算,即針對查詢結(jié)果的全部或,又稱匯總計(jì)算,即針對查詢結(jié)果的全部或部分記錄進(jìn)行計(jì)算,包括求和、求平均值、計(jì)數(shù)、求最大值和最小部分記錄進(jìn)行計(jì)算,包括求和、求平均值、計(jì)數(shù)、求最大值和最小值以及計(jì)算標(biāo)準(zhǔn)偏差和方差等值
33、以及計(jì)算標(biāo)準(zhǔn)偏差和方差等; 另另一類是一類是自定義計(jì)算自定義計(jì)算,用于對查詢結(jié)果中的一個(gè)或多個(gè)字段,用于對查詢結(jié)果中的一個(gè)或多個(gè)字段進(jìn)行數(shù)值、日期或文本計(jì)算,執(zhí)行此類計(jì)算進(jìn)行數(shù)值、日期或文本計(jì)算,執(zhí)行此類計(jì)算時(shí)時(shí)必須直接必須直接在在“設(shè)計(jì)網(wǎng)設(shè)計(jì)網(wǎng)格格”中創(chuàng)建新的計(jì)算中創(chuàng)建新的計(jì)算字段字段,方法是將表達(dá)式輸入到查詢設(shè)計(jì)區(qū)中的方法是將表達(dá)式輸入到查詢設(shè)計(jì)區(qū)中的空空“字段字段”單元格單元格中中。 匯總匯總計(jì)算使用系統(tǒng)提供的匯總函數(shù)對查詢中的記錄組或全計(jì)算使用系統(tǒng)提供的匯總函數(shù)對查詢中的記錄組或全部記錄進(jìn)行分類匯總計(jì)算,需要部記錄進(jìn)行分類匯總計(jì)算,需要單擊單擊“設(shè)計(jì)設(shè)計(jì)”選項(xiàng)卡選項(xiàng)卡“顯示顯示/ /隱
34、藏隱藏”組中組中的的“匯總匯總”按鈕,在按鈕,在“查詢設(shè)計(jì)器查詢設(shè)計(jì)器”的設(shè)計(jì)網(wǎng)格中的設(shè)計(jì)網(wǎng)格中出現(xiàn)出現(xiàn)“總計(jì)總計(jì)”行。行。 (1)(1)預(yù)定義計(jì)算預(yù)定義計(jì)算2.2.在查詢中進(jìn)行計(jì)算在查詢中進(jìn)行計(jì)算例 統(tǒng)計(jì)學(xué)生人數(shù)(1)(2)保存取名顯示結(jié)果運(yùn)行結(jié)果運(yùn)行結(jié)果例例 統(tǒng)計(jì)統(tǒng)計(jì)身高在身高在1.71.7米以上(不含米以上(不含1.71.7米)的學(xué)生米)的學(xué)生人數(shù)人數(shù)運(yùn)行結(jié)果3.3.在查詢中進(jìn)行分組統(tǒng)計(jì)在查詢中進(jìn)行分組統(tǒng)計(jì)例例 統(tǒng)計(jì)統(tǒng)計(jì)男、女生人數(shù)男、女生人數(shù)4.4.添加計(jì)算字段添加計(jì)算字段例 將上例中顯示字段名”ID之計(jì)數(shù)”改為”人數(shù)”運(yùn)行結(jié)果 自定義自定義計(jì)算計(jì)算 :因?yàn)樵谠O(shè)計(jì)器下方的總計(jì)欄中,只有
35、:因?yàn)樵谠O(shè)計(jì)器下方的總計(jì)欄中,只有幾種固定的計(jì)算,幾種固定的計(jì)算, 不可以輸入表達(dá)式,若要進(jìn)行一些特不可以輸入表達(dá)式,若要進(jìn)行一些特殊的計(jì)算,在總計(jì)處選:殊的計(jì)算,在總計(jì)處選:ExpressionExpression,則自定義公式可寫,則自定義公式可寫在字段在字段欄處,即:創(chuàng)建計(jì)算字段,其方法是,欄處,即:創(chuàng)建計(jì)算字段,其方法是,將表達(dá)式將表達(dá)式 ( ( 可含有預(yù)定義若干種計(jì)算的函數(shù)可含有預(yù)定義若干種計(jì)算的函數(shù) ) ) 直接輸入到查詢設(shè)直接輸入到查詢設(shè)計(jì)網(wǎng)格中的計(jì)網(wǎng)格中的“字段字段”行中行中。 例如:在某一個(gè)字段的空白例如:在某一個(gè)字段的空白處,寫如下表達(dá)式:處,寫如下表達(dá)式: 總評成績總評成
36、績 : : 平時(shí)成績平時(shí)成績 * *0.1+0.1+ 考試考試成成績績 * *0.30.3+期末期末成績成績 * *0.60.6 冒號之前的內(nèi)容為字段顯示的字符,之后的內(nèi)容為冒號之前的內(nèi)容為字段顯示的字符,之后的內(nèi)容為要顯示的數(shù)據(jù)公式的算法。要顯示的數(shù)據(jù)公式的算法。 注意:除漢字外的所有公式本身用的符號均為西文注意:除漢字外的所有公式本身用的符號均為西文符號。符號。(2 2)自定義計(jì)算)自定義計(jì)算自定義計(jì)算要注意:自定義計(jì)算要注意:1、冒號之前的內(nèi)容為表達(dá)式要顯示的字符內(nèi)容;、冒號之前的內(nèi)容為表達(dá)式要顯示的字符內(nèi)容;2、冒號后的內(nèi)容即為要按其進(jìn)行運(yùn)算的表達(dá)式的內(nèi)容;、冒號后的內(nèi)容即為要按其進(jìn)行
37、運(yùn)算的表達(dá)式的內(nèi)容;3、如表達(dá)式含字段名,要用如表達(dá)式含字段名,要用 括起來括起來,取其中的值參加運(yùn)取其中的值參加運(yùn)算;算;自定義計(jì)算輸入規(guī)則:自定義計(jì)算輸入規(guī)則:計(jì)算新字段名:表達(dá)式計(jì)算新字段名:表達(dá)式運(yùn)行結(jié)果在總計(jì)處選:在總計(jì)處選:ExpressionExpression例:計(jì)算每位學(xué)生總分,查詢結(jié)果包含學(xué)號、姓名、總分字段。運(yùn)行結(jié)果例:計(jì)算每位學(xué)生年齡,查詢結(jié)果包含學(xué)號、姓名、出生日期、年齡字段。例:計(jì)算每位學(xué)生年齡,查詢結(jié)果包含學(xué)號、姓名、出生日期、年齡字段。運(yùn)行結(jié)果 例:統(tǒng)計(jì)學(xué)生成績表中不同姓氏的學(xué)生的人數(shù),輸出字段為:例:統(tǒng)計(jì)學(xué)生成績表中不同姓氏的學(xué)生的人數(shù),輸出字段為:姓氏和人數(shù)
38、,并且按人數(shù)降序排序。(假設(shè)姓氏為姓名的第一個(gè)姓氏和人數(shù),并且按人數(shù)降序排序。(假設(shè)姓氏為姓名的第一個(gè)漢字)漢字) 例:統(tǒng)計(jì)學(xué)生成績表中例:統(tǒng)計(jì)學(xué)生成績表中“張張”姓和姓和“吳吳”姓的學(xué)生的人數(shù),姓的學(xué)生的人數(shù),輸出字段為:姓氏和人數(shù),并且按姓氏升序排序。(假設(shè)姓氏為輸出字段為:姓氏和人數(shù),并且按姓氏升序排序。(假設(shè)姓氏為姓名的第一個(gè)漢字)姓名的第一個(gè)漢字) 例:統(tǒng)計(jì)學(xué)生成績表中不同年齡的學(xué)生人數(shù),輸出時(shí)按例:統(tǒng)計(jì)學(xué)生成績表中不同年齡的學(xué)生人數(shù),輸出時(shí)按年齡升序排序年齡升序排序運(yùn)行結(jié)果:運(yùn)行結(jié)果: 使用查詢設(shè)計(jì)器可創(chuàng)建基于多表的交叉表查詢。 三、利用查詢設(shè)計(jì)器創(chuàng)建交叉表查詢?nèi)⒗貌樵冊O(shè)計(jì)器創(chuàng)
39、建交叉表查詢 在查詢的設(shè)計(jì)視圖下,單擊【查詢工具/設(shè)計(jì)】選項(xiàng)卡【查詢類型】組中【交叉表】按鈕,可以在設(shè)計(jì)網(wǎng)格中增加【交叉表】行。例:在例:在“grade”表中查詢每位學(xué)生表中查詢每位學(xué)生各門課成績各門課成績操作步驟:操作步驟:(1)“創(chuàng)建”選項(xiàng)卡“查詢”組“查詢設(shè)計(jì)”按鈕(2)“設(shè)計(jì)”選項(xiàng)卡“查詢類型”組“交叉表”按鈕如圖 (3)在設(shè)計(jì)網(wǎng)格中按需求設(shè)計(jì)例:在例:在“grade”表中查詢每位學(xué)生各門課表中查詢每位學(xué)生各門課成成績,結(jié)果顯示學(xué)生學(xué)號、姓名、各門課成績。績,結(jié)果顯示學(xué)生學(xué)號、姓名、各門課成績。如圖:如圖:利用查詢設(shè)計(jì)器創(chuàng)建交叉表查利用查詢設(shè)計(jì)器創(chuàng)建交叉表查詢?nèi)缦拢涸內(nèi)缦拢?例:以交叉
40、表的形式查詢每個(gè)學(xué)生的各門課程成績及平均分。要求:輸出時(shí)平均分保留一位小數(shù)。操作步驟操作步驟:打開查詢設(shè)計(jì)視圖,并添加數(shù)據(jù)源及顯示字段單擊【查詢工具/設(shè)計(jì)】選項(xiàng)卡【查詢類型】組中【交叉表】按鈕,使查詢類型為交叉表查詢在【交叉表】行上設(shè)置:行字段、列字段在【交叉表】行上設(shè)置:值字段(將該字段的【總計(jì)】行改為:第一條記錄)添加匯總字段并設(shè)置匯總函數(shù)(將該字段的【交叉表】行設(shè)置為:行標(biāo)題)行行標(biāo)題標(biāo)題列列標(biāo)標(biāo)題題值值 如果在【交叉表】行中,設(shè)置某個(gè)字段的選項(xiàng)為:“ 值值 ”,則在【總計(jì)】行中可以有多種選擇。 如果獲取的是單一數(shù)據(jù),則應(yīng)該選擇“ First ”或“ Last ”。創(chuàng)建交叉表查詢時(shí),使用
41、交叉表查詢向?qū)Ш驮O(shè)計(jì)視圖的比較:創(chuàng)建交叉表查詢時(shí),使用交叉表查詢向?qū)Ш驮O(shè)計(jì)視圖的比較:數(shù)據(jù)源來自于一個(gè)表或查詢時(shí),使用交叉表查詢向?qū)?chuàng)建;數(shù)據(jù)源來自于多個(gè)表或查詢時(shí),使用設(shè)計(jì)視圖創(chuàng)建;如果【行標(biāo)題】或【列標(biāo)題】需要建立新字段得到,則使用設(shè)計(jì)視圖創(chuàng)建。第三節(jié)第三節(jié) 創(chuàng)建參數(shù)查詢創(chuàng)建參數(shù)查詢(P72) 參數(shù)查詢是按用戶給定的字段值來查找記錄的查詢。參數(shù)查詢提供一個(gè)對話框,提示用戶輸入一個(gè)參數(shù)值,然后查找并顯示符合參數(shù)值的記錄。查詢操作原理:查詢操作原理:在運(yùn)行查詢的過程中自動(dòng)修改查詢的規(guī)則查詢執(zhí)行方法:查詢執(zhí)行方法:用戶在執(zhí)行時(shí)會(huì)顯示一個(gè)輸入對話框以提示用戶輸入信息查詢設(shè)計(jì)方法:查詢設(shè)計(jì)方法:在查
42、詢設(shè)計(jì)網(wǎng)格的“條件”單元格中添加運(yùn)行時(shí)系統(tǒng)將顯示的提示信息。 在ACCESS中創(chuàng)建參數(shù)查詢是在創(chuàng)建查詢時(shí),在查詢條件區(qū)域中輸入用方括號“”括起來的提示文本信息。在運(yùn)行該查詢時(shí),ACCESS將顯示包含參數(shù)表達(dá)式文本的參數(shù)提示框。1 1、 單參數(shù)查詢單參數(shù)查詢 單參數(shù)查詢只需要在字段中指定一個(gè)參數(shù),參數(shù)通常是完整的字段值,也可以是字段的部分值,還可以是窗體控件中的值。 在在Access中,可以建立中,可以建立單參數(shù)單參數(shù)查詢,也可以建立查詢,也可以建立多參數(shù)多參數(shù)查詢。查詢。例:以輸入的姓名為參數(shù),顯示該同學(xué)的基本信息運(yùn)行時(shí)提示例:建立一個(gè)查詢,顯示學(xué)生“姓名”和大于指定數(shù)值的“成績”。例:建立一
43、個(gè)查詢,顯示學(xué)生“姓名”和大于指定數(shù)值的“語文成績”。運(yùn)行時(shí)提示:查詢結(jié)果:或或運(yùn)行時(shí)提示:查詢結(jié)果:注:給字段別名時(shí),要確保原字段的標(biāo)注:給字段別名時(shí),要確保原字段的標(biāo)題屬性沒有設(shè)置題屬性沒有設(shè)置 。2 2、 多參數(shù)查詢多參數(shù)查詢 多參數(shù)查詢在多個(gè)字段中指定參數(shù),執(zhí)行時(shí)提示對話框從左到右依次顯示,用戶則依次輸入多個(gè)參數(shù),最后根據(jù)多個(gè)參數(shù)顯示查詢結(jié)果。 運(yùn)行時(shí)提示例:在“學(xué)生成績”中查詢指定語文成績范圍內(nèi)的學(xué)生信息。運(yùn)行時(shí)提示第四節(jié)第四節(jié) 創(chuàng)建操作查詢創(chuàng)建操作查詢 操作查詢可以對查詢數(shù)據(jù)源進(jìn)行各種操作,如刪除記錄、更新記錄、追加記錄,甚至生成一個(gè)新表。操作查詢不同于一般選擇查詢之處是在查詢的同
44、時(shí),會(huì)改變原來表中的數(shù)據(jù),因此執(zhí)行操作查詢時(shí)系統(tǒng)會(huì)給出警告信息,用戶應(yīng)做好備份工作。 操作操作查詢查詢包括更新查詢、追加查詢、包括更新查詢、追加查詢、刪除刪除查詢查詢和生成表查詢。和生成表查詢。 操作操作查詢所做的一切操作都是在選擇查詢的基礎(chǔ)上完成的查詢所做的一切操作都是在選擇查詢的基礎(chǔ)上完成的,即先建一個(gè)選擇查詢再選中功能區(qū)中用戶所要進(jìn)行的操作查詢類型一、數(shù)據(jù)表備份一、數(shù)據(jù)表備份 在操作查詢運(yùn)行時(shí)會(huì)改變已有表中的數(shù)據(jù)。因此,在創(chuàng)建操作查詢時(shí)應(yīng)注意備份數(shù)據(jù)。 1、選擇要備份的數(shù)據(jù)表,右擊選定的數(shù)據(jù)表,在彈出的快捷菜單中選擇“復(fù)制”或使用快捷鍵Ctrl+C進(jìn)行復(fù)制,也可以用菜單欄或工具欄進(jìn)行操作
45、。 2、在數(shù)據(jù)庫的空白處右擊,從彈出的菜單中選擇“粘貼”或使用快捷鍵Ctrl+V進(jìn)行粘貼。 3、在進(jìn)行粘貼時(shí)會(huì)打開“粘貼表方式”對話框,選擇“結(jié)構(gòu)和數(shù)據(jù)”并在“表名稱”文本框中輸入備份表的名稱。二二、使用更新查詢、使用更新查詢 利用數(shù)據(jù)表視圖更新一個(gè)表或多個(gè)表的滿足某些條件的記錄操作起來比較麻煩,但是利用更新查詢可以實(shí)現(xiàn)對一個(gè)或多個(gè)表中的一組記錄作全局的更改。 更新查詢可以一次性修改一批滿足指定條件的記錄,而不必逐個(gè)地去修改每條記錄,在實(shí)際中具有廣泛的應(yīng)用。更新查詢將改變原來的數(shù)據(jù),注意做好備份工作。 更新查詢是根據(jù)查詢的結(jié)果,對一個(gè)或多個(gè)表中相關(guān)記錄的字段值進(jìn)行更新。 更新查詢的最大優(yōu)勢在于
46、:用相同的表達(dá)式批量修改多條記錄的字段值。例:將姓名為“付麗”的學(xué)生改名為“李麗”操作步驟:(1)打開查詢設(shè)計(jì)器,添加查詢需要的表,并添加需要更新的相關(guān)字段(2)選擇查詢類型為“更新”(3)在條件行中輸入滿足條件“付麗”(4)在“更新到”單元格中輸入更新內(nèi)容將grade表中所有成績加100分將student表中所有男同學(xué)體重增加10%或或 更新查詢不能更新更新查詢不能更新“ 自動(dòng)編號自動(dòng)編號”字段。如果在更新查詢中設(shè)置條件,字段。如果在更新查詢中設(shè)置條件,則只對滿足條件的記錄進(jìn)行更新。則只對滿足條件的記錄進(jìn)行更新。三、使用三、使用追加查詢追加查詢 利用追加查詢可實(shí)現(xiàn)對原數(shù)據(jù)庫表進(jìn)行追加記錄的操
47、作,它提供了一它提供了一個(gè)不用打開表,就可以增加記錄的方法。個(gè)不用打開表,就可以增加記錄的方法。 其中涉及到兩個(gè)表,一個(gè)稱它為被追加表被追加表,一個(gè)稱它為追加源表追加源表。前者的字段應(yīng)少于或者等于后者即追加源表字段數(shù)。且兩個(gè)表相關(guān)的字段類型相一致。 追加查詢就是把查詢的結(jié)果添加到另一個(gè)表的末尾(查詢的數(shù)據(jù)源可以是一個(gè)或多個(gè)表)。 再追加查詢中,要被追加記錄的表必須是已經(jīng)存在的表。這個(gè)表可以是當(dāng)前數(shù)據(jù)庫的,也可以是另外一個(gè)數(shù)據(jù)庫的,追加查詢對于從表中篩選記錄添加到另一個(gè)表中是很有用的。 例:備份student表結(jié)構(gòu),然后將student表中男學(xué)生記錄追加過來。操作步驟:操作步驟:(1)復(fù)制粘貼s
48、tudent表結(jié)構(gòu)(2)打開查詢設(shè)計(jì)器,添加查詢需要的數(shù)據(jù)表student(3)選擇查詢類型為“追加”,并選擇追加 到表名稱“student 備份”,并在字段列”sex”下面的條件單元格中輸入條件表達(dá)式:”男”(4)運(yùn)行四、四、刪除查詢刪除查詢 刪除查詢可以從已有表中刪除符合指定條件的記錄,且所作的刪除操作是無法撤消的,就像在表中直接刪除記錄一樣。查詢運(yùn)行后將從原表中永久刪除指定的記錄,且無法恢復(fù)永久刪除指定的記錄,且無法恢復(fù)!為避免誤刪除,可以先預(yù)覽查詢的結(jié)果或?qū)υ瓟?shù)據(jù)表進(jìn)行備份。刪除查詢刪除的是整個(gè)記錄,而不是指定的字段或字段中的數(shù)據(jù)。操作步驟:操作步驟:打開查詢的設(shè)計(jì)視圖添加數(shù)據(jù)源更改查
49、詢的類型為刪除查詢設(shè)置刪除的條件例:刪除student備份表中所有女生的記錄。操作步驟:(1)在查詢設(shè)計(jì)器,添加查詢需要的數(shù)據(jù)表“student 備份”(2)選擇查詢類型為“刪除”,并在字段列“sex”下面的條件單元格中輸入條件表達(dá)式:”女” 將將“grade”備份表備份表中成績中成績小于小于70分的記錄刪除。分的記錄刪除。從grade表中刪除姓名為“王超”的記錄?!痉治觥?此刪除查詢涉及兩張表:student表和grade表。刪除的是grade表表中的記錄;條件設(shè)置來自于student表。若刪除查詢的數(shù)據(jù)源來自多表(且已創(chuàng)建關(guān)聯(lián)),則: 刪除的只能是子表中的記錄; 主表中的字段用于條件設(shè)置;
50、 與兩表之間是否建立參照完整性規(guī)則無關(guān)。 設(shè)計(jì)視圖中的【刪除】行: From指定刪除記錄的表 Where指定刪除的條件另外,參數(shù)查詢和操作查詢可以結(jié)合起來應(yīng)用。例如:另外,參數(shù)查詢和操作查詢可以結(jié)合起來應(yīng)用。例如: 選擇查詢視圖中;選擇查詢視圖中; 選中刪除查詢;選中刪除查詢; 再選擇參數(shù)查詢,在某一個(gè)字段處輸入字段名;再選擇參數(shù)查詢,在某一個(gè)字段處輸入字段名; 結(jié)果是滿足輸入的字段條件的記錄被刪除結(jié)果是滿足輸入的字段條件的記錄被刪除;例:將例:將student備份表中滿足輸入學(xué)號的條件的記錄刪除備份表中滿足輸入學(xué)號的條件的記錄刪除操作步驟:(1)在查詢設(shè)計(jì)器,添加查詢需要的數(shù)據(jù)表“stude
51、nt 備份”(2)選擇查詢類型為“刪除”,選擇學(xué)號字段,并在其下面的條件單元格中輸入條件表達(dá)式:請輸入要?jiǎng)h除學(xué)生的學(xué)號:(3)運(yùn)行五五、使用生成表查詢、使用生成表查詢 生成表查詢可以利用表、查詢中的數(shù)據(jù)創(chuàng)建一個(gè)新表,還可以將生成的表導(dǎo)出到數(shù)據(jù)庫或窗體、報(bào)表中,實(shí)際上就是把查詢生成的動(dòng)態(tài)集以表的形式保存下來。 生成表查詢與選擇查詢有相似之外,都可以在多個(gè)表中將指定字段提取到查詢結(jié)果中。它們的區(qū)別在于:選擇查詢只是從查詢的數(shù)據(jù)源中檢索數(shù)據(jù)形成查詢的結(jié)果集,而生成表查詢除了建立一個(gè)查詢文件外,還會(huì)在數(shù)據(jù)庫中創(chuàng)建一個(gè)新生成的數(shù)據(jù)表文件,并且每次運(yùn)行生成表查詢都會(huì)將查詢的結(jié)果更新到這個(gè)表中。 當(dāng)生成表查
52、詢的數(shù)據(jù)源中的數(shù)據(jù)發(fā)生變化時(shí),新表不能隨著發(fā)生改變,必須運(yùn)行生成表查詢項(xiàng)目數(shù)據(jù)才會(huì)有效。 查詢在每次打開時(shí)(運(yùn)行時(shí))都要重新從查詢的數(shù)據(jù)源中提取數(shù)據(jù)生成查詢結(jié)果,而生成表查詢所創(chuàng)建的生成表中數(shù)據(jù)是獨(dú)立存在的,打開該表即可使用。例:將student備份表中所有身高在1.7米以上的男同學(xué)篩選出來生成一個(gè)新的數(shù)據(jù)表。操作步驟:(1)在查詢設(shè)計(jì)器,添加查詢需要的數(shù)據(jù)表“student 備份”(2)選擇查詢類型為“生成表”,選擇性別字段,并在其下面的條件單元格中輸入條件表達(dá)式:”男” ;height字段條件行輸入:1.7(3)運(yùn)行例:將grade備份表中所有90分以上的記錄篩選出來生成一個(gè)新的數(shù)據(jù)表。切
53、換到數(shù)據(jù)表視圖可預(yù)覽新建的表。運(yùn)行查詢后,才創(chuàng)建新表(創(chuàng)建新表前,系統(tǒng)將有提示)。 操作查詢不僅選擇表中數(shù)據(jù),還對表中數(shù)據(jù)進(jìn)操作查詢不僅選擇表中數(shù)據(jù),還對表中數(shù)據(jù)進(jìn)行修改。因此,為了避免因誤操作引起的不必要行修改。因此,為了避免因誤操作引起的不必要的改變,在數(shù)據(jù)庫窗口中的每個(gè)的改變,在數(shù)據(jù)庫窗口中的每個(gè)操作查詢圖標(biāo)之操作查詢圖標(biāo)之后顯示一個(gè)感嘆號后顯示一個(gè)感嘆號,以引起注意。,以引起注意。操作查詢總結(jié)操作查詢總結(jié):第第1 1步:一定是在設(shè)計(jì)示圖器中(選擇查詢)進(jìn)行的操作查詢,步:一定是在設(shè)計(jì)示圖器中(選擇查詢)進(jìn)行的操作查詢, 即先作一個(gè)選擇查詢,將要對之操作的表(或者查詢)放入到設(shè)即先作一個(gè)
54、選擇查詢,將要對之操作的表(或者查詢)放入到設(shè)計(jì)器的查詢對象區(qū)域中;注意:在追加查詢中是將用來對目標(biāo)表計(jì)器的查詢對象區(qū)域中;注意:在追加查詢中是將用來對目標(biāo)表進(jìn)行追加數(shù)據(jù)的源表放入到設(shè)計(jì)器的查詢區(qū)域進(jìn)行追加數(shù)據(jù)的源表放入到設(shè)計(jì)器的查詢區(qū)域。第第2 2步:在設(shè)計(jì)器狀態(tài)下,菜單步:在設(shè)計(jì)器狀態(tài)下,菜單查詢查詢選擇相應(yīng)的操作選擇相應(yīng)的操作;第第3 3步:在查詢設(shè)計(jì)區(qū)中,進(jìn)行條件的書寫。生成表:寫要選擇步:在查詢設(shè)計(jì)區(qū)中,進(jìn)行條件的書寫。生成表:寫要選擇生成記錄的條件;刪除:寫要?jiǎng)h除記錄的條件;更新到:寫變?yōu)樯捎涗浀臈l件;刪除:寫要?jiǎng)h除記錄的條件;更新到:寫變?yōu)槭裁?;追加到:寫目?biāo)數(shù)據(jù)表什么;追加到
55、:寫目標(biāo)數(shù)據(jù)表;第第4 4步:將查詢設(shè)計(jì)結(jié)果進(jìn)行步:將查詢設(shè)計(jì)結(jié)果進(jìn)行保存保存后,圖標(biāo)變化,分別為后,圖標(biāo)變化,分別為:1 1、非常關(guān)鍵的一步:這四個(gè)圖標(biāo)中的、非常關(guān)鍵的一步:這四個(gè)圖標(biāo)中的 !都表明這是個(gè)可執(zhí)行文件,都表明這是個(gè)可執(zhí)行文件,所以一定要雙擊它,即執(zhí)行一下這個(gè)操作,才可產(chǎn)生相應(yīng)的結(jié)果。所以一定要雙擊它,即執(zhí)行一下這個(gè)操作,才可產(chǎn)生相應(yīng)的結(jié)果。!也表明這個(gè)操作可能會(huì)影響到數(shù)據(jù)表的數(shù)據(jù),所以提醒用戶注意。完也表明這個(gè)操作可能會(huì)影響到數(shù)據(jù)表的數(shù)據(jù),所以提醒用戶注意。完成之后,即以后再執(zhí)行它,它將詢問用戶,操作可能會(huì)帶來數(shù)據(jù)的變成之后,即以后再執(zhí)行它,它將詢問用戶,操作可能會(huì)帶來數(shù)據(jù)的變
56、化,是否要重新操作。操作結(jié)果也是到表對象去看化,是否要重新操作。操作結(jié)果也是到表對象去看! !2 2、還有最重要的地方要注意,即:數(shù)據(jù)庫中的表有關(guān)聯(lián)問題,在設(shè)計(jì)、還有最重要的地方要注意,即:數(shù)據(jù)庫中的表有關(guān)聯(lián)問題,在設(shè)計(jì)更新、刪除操作時(shí),要考慮到表與表之間的級聯(lián)關(guān)系、主表與子表之更新、刪除操作時(shí),要考慮到表與表之間的級聯(lián)關(guān)系、主表與子表之間有無互相影響的問題。間有無互相影響的問題。 結(jié)論是:結(jié)論是: 若有級聯(lián)關(guān)系,主表的變動(dòng)會(huì)若有級聯(lián)關(guān)系,主表的變動(dòng)會(huì)影響到子表,無論有無級聯(lián)關(guān)系,子表的變動(dòng)均不會(huì)影響到主表。影響到子表,無論有無級聯(lián)關(guān)系,子表的變動(dòng)均不會(huì)影響到主表。3 3、因?yàn)槭遣僮鞑樵儯?/p>
57、數(shù)據(jù)表中的數(shù)據(jù)會(huì)發(fā)生變化,為了保證數(shù)據(jù)、因?yàn)槭遣僮鞑樵?,所以?shù)據(jù)表中的數(shù)據(jù)會(huì)發(fā)生變化,為了保證數(shù)據(jù)不丟失,要對原數(shù)據(jù)表進(jìn)行備份操作,然后再進(jìn)行相關(guān)的查詢操作不丟失,要對原數(shù)據(jù)表進(jìn)行備份操作,然后再進(jìn)行相關(guān)的查詢操作。第五節(jié)第五節(jié) 使用使用SQLSQL查詢查詢 SQL結(jié)構(gòu)化查詢語言是標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)語言。結(jié)構(gòu)化查詢語言是標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)語言。 查詢的本質(zhì)是一條查詢的本質(zhì)是一條SQL語句語句,即每個(gè)查詢都對應(yīng)著一,即每個(gè)查詢都對應(yīng)著一條條SQL查詢命令。查詢命令。 保保存查詢時(shí),保存的是一條存查詢時(shí),保存的是一條SQL語句,而不是查詢的語句,而不是查詢的結(jié)果。結(jié)果。 創(chuàng)建查詢,既可以在其設(shè)計(jì)視圖中
58、實(shí)現(xiàn),也可以在其創(chuàng)建查詢,既可以在其設(shè)計(jì)視圖中實(shí)現(xiàn),也可以在其SQL視圖中直接輸入視圖中直接輸入SQL語句實(shí)現(xiàn)。語句實(shí)現(xiàn)。 某些特殊的查詢不能在設(shè)計(jì)視圖中進(jìn)行,只能通過某些特殊的查詢不能在設(shè)計(jì)視圖中進(jìn)行,只能通過SQL語句才能實(shí)現(xiàn)語句才能實(shí)現(xiàn)。 SQL(結(jié)構(gòu)化查詢語言)是一種數(shù)據(jù)庫查詢語言,(結(jié)構(gòu)化查詢語言)是一種數(shù)據(jù)庫查詢語言,它它的功能包括:的功能包括: 數(shù)據(jù)定義數(shù)據(jù)定義 數(shù)據(jù)查詢數(shù)據(jù)查詢 數(shù)數(shù)據(jù)操作據(jù)操作 數(shù)據(jù)控制數(shù)據(jù)控制SQLSQL查詢是用戶使用查詢是用戶使用SQLSQL語句創(chuàng)建的查詢語句創(chuàng)建的查詢。SQL 的命令動(dòng)詞的命令動(dòng)詞GRANT,REVOTE數(shù)據(jù)控制數(shù)據(jù)控制INSERT,UP
59、DATE,DELETE數(shù)據(jù)操數(shù)據(jù)操作作SELECT數(shù)據(jù)查詢數(shù)據(jù)查詢CREATE,DROP,ALTER數(shù)據(jù)定義數(shù)據(jù)定義動(dòng)詞動(dòng)詞SQL基本功能基本功能 SQL SQL完成數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操作和數(shù)完成數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操作和數(shù)據(jù)控制的核心功能只有據(jù)控制的核心功能只有9 9個(gè)命令動(dòng)詞,如下個(gè)命令動(dòng)詞,如下Create 創(chuàng)建表結(jié)構(gòu)、drop 刪除表、alter 修改已建表的表結(jié)構(gòu); 本節(jié)將根據(jù)實(shí)際應(yīng)用的需要,主要介紹數(shù)據(jù)定義、數(shù)據(jù)查詢和數(shù)據(jù)操作等基本語句。 進(jìn)入進(jìn)入SQLSQL視圖:視圖:(1)先進(jìn)入空白查詢設(shè)計(jì)視圖(不選擇數(shù)據(jù)源)(2)(2)或在查詢設(shè)計(jì)視圖表關(guān)系空白區(qū)右擊,在彈出菜單中
60、選擇“SQL視圖”或在新建查詢標(biāo)題處右擊,在彈出菜單中選擇“SQL視圖”SQL SQL 支持的數(shù)據(jù)類型:支持的數(shù)據(jù)類型:標(biāo)標(biāo) 示示說說 明明標(biāo)標(biāo) 示示說說 明明text文本文本/字符型字符型number數(shù)字型數(shù)字型integer整型整型long長整型長整型single單精度型單精度型double雙精度型雙精度型byte字節(jié)字節(jié)date日期型日期型generalOLE 對象對象型型logical布爾布爾/邏輯型邏輯型currency貨幣型貨幣型memo備注型備注型 SQL查詢是使用SELECT命令,這是數(shù)據(jù)庫的核心操作。在SQL語言中用得最多的就是SELECT語句了。我們就先講講SELECT語句
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025解除合同協(xié)議范文
- 私人汽車抵押合同
- 店面冰箱轉(zhuǎn)讓合同范例
- 分包木工工程合同范例
- 工廠管道改造合同范例
- 材料進(jìn)貨合同范例
- 投資開發(fā)合同范例
- 機(jī)器買賣協(xié)議合同范例
- 幕墻吊車出租合同范例
- 外墻合同范例
- 《THPJC-2型機(jī)床電氣技能實(shí)訓(xùn)考核鑒定裝置》-X62W萬能銑床電氣線路分析及故障排除與分析
- 《記念劉和珍君》高中語文選擇性必修中冊
- CJ/T 83-2016 水處理用斜管
- CJJ181-2012 城鎮(zhèn)排水管道檢測與評估技術(shù)規(guī)程
- 2024河北科技師范學(xué)院教師招聘考試筆試試題
- 勞動(dòng)勞務(wù)合同模板
- 2024南寧學(xué)院教師招聘考試筆試試題
- 醫(yī)師定期考核業(yè)務(wù)水平測試題庫(5000題可查找)
- 部編版五年級上冊道德與法治期末測試卷附參考答案【綜合題】
- 股權(quán)激勵(lì)協(xié)議(高管人員)
- 勞動(dòng)教育智慧樹知到期末考試答案章節(jié)答案2024年寧波大學(xué)
評論
0/150
提交評論