財(cái)經(jīng)大數(shù)據(jù)技術(shù)應(yīng)用基礎(chǔ) 課件 項(xiàng)目三 SQL應(yīng)用_第1頁(yè)
財(cái)經(jīng)大數(shù)據(jù)技術(shù)應(yīng)用基礎(chǔ) 課件 項(xiàng)目三 SQL應(yīng)用_第2頁(yè)
財(cái)經(jīng)大數(shù)據(jù)技術(shù)應(yīng)用基礎(chǔ) 課件 項(xiàng)目三 SQL應(yīng)用_第3頁(yè)
財(cái)經(jīng)大數(shù)據(jù)技術(shù)應(yīng)用基礎(chǔ) 課件 項(xiàng)目三 SQL應(yīng)用_第4頁(yè)
財(cái)經(jīng)大數(shù)據(jù)技術(shù)應(yīng)用基礎(chǔ) 課件 項(xiàng)目三 SQL應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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)介

三SQL應(yīng)用項(xiàng)目項(xiàng)目三學(xué)習(xí)目標(biāo)知識(shí)目標(biāo)理解SQL的含義、執(zhí)行過(guò)程、命令、語(yǔ)法以及數(shù)據(jù)類型,掌握創(chuàng)建數(shù)據(jù)表、插入數(shù)據(jù)、重命名數(shù)據(jù)表及刪除數(shù)據(jù)表的基本語(yǔ)法;掌握SQL數(shù)據(jù)查詢常用語(yǔ)句的基本語(yǔ)法;掌握聚合函數(shù)、數(shù)學(xué)函數(shù)和字符串函數(shù)等SQL常用函數(shù)的基本語(yǔ)法;掌握SQL存儲(chǔ)過(guò)程的創(chuàng)建、調(diào)用及刪除語(yǔ)法,以及常用流程控制語(yǔ)句的基本語(yǔ)法。能力目標(biāo)能正確進(jìn)行新增數(shù)據(jù)表、插入數(shù)據(jù)、重命名數(shù)據(jù)表、刪除數(shù)據(jù)表等操作;能正確進(jìn)行數(shù)據(jù)查詢、分組、排序、聯(lián)合查詢、刪除重復(fù)記錄及子查詢等操作;能正確進(jìn)行求平均值、求和、求最大值、求最小值、計(jì)數(shù)等操作;能正確進(jìn)行存儲(chǔ)過(guò)程的創(chuàng)建及調(diào)用、流程控制語(yǔ)句的設(shè)計(jì)等操作。素質(zhì)目標(biāo)通過(guò)SQL語(yǔ)言開(kāi)源性特征學(xué)習(xí),養(yǎng)成開(kāi)放、接納、包容和發(fā)展,求同存異,互利共贏的精神;

通過(guò)SQL常用函數(shù)的應(yīng)用,樹(shù)立立大志、明大德、成大才、擔(dān)大任的志向,進(jìn)一步堅(jiān)定理想信念,為今后建設(shè)科技強(qiáng)國(guó)貢獻(xiàn)力量;

通過(guò)SQL語(yǔ)言編程,養(yǎng)成知錯(cuò)能改、正視錯(cuò)誤的品德,認(rèn)真查找原因,及時(shí)糾偏。項(xiàng)目三思維導(dǎo)圖3.1SQL數(shù)據(jù)表操作當(dāng)我們?cè)谌魏侮P(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)上執(zhí)行SQL命令時(shí),系統(tǒng)會(huì)自動(dòng)找到執(zhí)行請(qǐng)求的最佳例程,并且SQL引擎決定如何解釋該特定命令。3.1.1SQL認(rèn)知3.1SQL數(shù)據(jù)表操作SQL執(zhí)行過(guò)程1圖3-1SQL架構(gòu)圖SQL命令有助于創(chuàng)建和管理數(shù)據(jù)庫(kù)。最常用的SQL命令有CREATE、UPDATE、DELETE、SELECT、DROP、INSERT等。3.1.1SQL認(rèn)知3.1SQL數(shù)據(jù)表操作SQL命令2表3-3

SQL常用命令命令說(shuō)明CREATE此命令有助于創(chuàng)建新數(shù)據(jù)庫(kù)、新表、表視圖和數(shù)據(jù)庫(kù)的其他對(duì)象UPDATE此命令有助于更新或更改數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)DELETE此命令有助于從數(shù)據(jù)庫(kù)表中刪除或擦除已保存的記錄,可以從數(shù)據(jù)庫(kù)的表中刪除單個(gè)或多個(gè)元組SELECT此命令有助于從數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)表中訪問(wèn)單行或多行,也可以將此命令與WHERE子句一起使用DROP此命令有助于從數(shù)據(jù)庫(kù)中刪除整個(gè)表、表視圖或其他對(duì)象INSERT此命令有助于將數(shù)據(jù)或記錄插入數(shù)據(jù)庫(kù)表中,可以輕松地將記錄插入到表的單行和多行中

使用SQL語(yǔ)言必須遵守一套特定的規(guī)范和準(zhǔn)則,這稱為語(yǔ)法。SQL語(yǔ)法必須以關(guān)鍵字(也稱命令)開(kāi)頭,比如SELECT、INSERT、UPDATE、DELETE、ALTER、DROP、CREATE、USE、SHOW等。SQL語(yǔ)句以“;”結(jié)尾,分號(hào)用來(lái)分隔SQL語(yǔ)句,一次數(shù)據(jù)庫(kù)查詢可以使用多個(gè)SQL語(yǔ)句,分號(hào)可以幫助數(shù)據(jù)庫(kù)系統(tǒng)區(qū)分出SQL語(yǔ)句。SQL語(yǔ)句可以跨行,即可以將SQL語(yǔ)句書寫在一行或者多行。SQL語(yǔ)法示例:3.1.1SQL認(rèn)知3.1SQL數(shù)據(jù)表操作SQL語(yǔ)法3SELECT

column_name

FROM

table_name;

數(shù)據(jù)類型用于表示可以存儲(chǔ)在數(shù)據(jù)庫(kù)表中的數(shù)據(jù)的性質(zhì)。例如,在表的特定列中,如果要存儲(chǔ)字符串類型的數(shù)據(jù),那么必須聲明該列的字符串?dāng)?shù)據(jù)類型。3.1.1SQL認(rèn)知3.1SQL數(shù)據(jù)表操作SQL數(shù)據(jù)類型4SQL數(shù)據(jù)類型字符串?dāng)?shù)據(jù)類型數(shù)值數(shù)據(jù)類型日期和時(shí)間數(shù)據(jù)類型運(yùn)算符是一種符號(hào),用來(lái)指定在一個(gè)或多個(gè)表達(dá)式中執(zhí)行的操作,包括一元運(yùn)算符、算術(shù)運(yùn)算符、比較運(yùn)算符、位運(yùn)算符、邏輯運(yùn)算符等。各種運(yùn)算符及運(yùn)算符的優(yōu)先級(jí)如表3-7所示。3.1.2運(yùn)算符3.1SQL數(shù)據(jù)表操作表3-7運(yùn)算符及運(yùn)算符的優(yōu)先級(jí)運(yùn)算符種類運(yùn)算符優(yōu)先級(jí)一元運(yùn)算符+(正)、-(負(fù))、~(按位取反)1(高)算術(shù)運(yùn)算符**(指數(shù)冪)2*(乘)、/(除)3+(加)、-(減)、||(字符串連接)4比較運(yùn)算符=(等于)、<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、!=(不等于)、!<(不小于)、!>(不大于)5位運(yùn)算符&(位與)、|(位或)、^(位異或)6邏輯運(yùn)算符NOT(邏輯非)7AND(邏輯與)8OR(邏輯或)9(低)表(Table)是以行和列形式組織的數(shù)據(jù)的集合,是構(gòu)成關(guān)系數(shù)據(jù)庫(kù)的基本元素,包含表頭和表體。其中表頭定義各個(gè)列的列名、順序、數(shù)據(jù)類型和長(zhǎng)度等屬性,確定數(shù)據(jù)庫(kù)表的結(jié)構(gòu);表體包含數(shù)據(jù)行,是數(shù)據(jù)的內(nèi)容部分。表被創(chuàng)建以后,列數(shù)是固定的,但是行數(shù)可以改變。創(chuàng)建表時(shí),需要給表命名,并定義它的列以及每一列的類型。SQL語(yǔ)言使用CREATETABLE語(yǔ)句創(chuàng)建新表,基本語(yǔ)法如下:3.1.3數(shù)據(jù)表操作3.1SQL數(shù)據(jù)表操作創(chuàng)建數(shù)據(jù)表1CREATETABLEtable_name(column1datatype,column2datatype,....,columnNdatatype,PRIMARYKEY(oneormorecolumns));INSERTINTO語(yǔ)句用于向表中插入新的數(shù)據(jù)行。INSERTINTO語(yǔ)句有兩種基本的用法,分別為按指定的列插入數(shù)據(jù)和為所有列插入數(shù)據(jù)。1.按指定的列插入數(shù)據(jù)在該種方法下,需要指定要插入的列名和值?;菊Z(yǔ)法格式如下:3.1.3數(shù)據(jù)表操作3.1SQL數(shù)據(jù)表操作插入數(shù)據(jù)2INSERTINTOtable_name(column1,column2,column3....)VALUES(value1,value2,value3.....);2.為所有列插入數(shù)據(jù)在該種方法下,不需要指定將插入數(shù)據(jù)的列名,只需要它們的值?;菊Z(yǔ)法格式如下:3.1.3數(shù)據(jù)表操作3.1SQL數(shù)據(jù)表操作插入數(shù)據(jù)2INSERTINTOtable_nameVALUES(value1,value2,value3....);

在某些情況下,數(shù)據(jù)庫(kù)管理員和用戶希望更改SQL數(shù)據(jù)庫(kù)中表的名稱,因?yàn)樗麄兿M麨楸硖峁└嚓P(guān)的名稱。任何數(shù)據(jù)庫(kù)用戶都可以使用結(jié)構(gòu)化查詢語(yǔ)言中的RENAMETABLE或ALTERTABLE語(yǔ)句輕松更改名稱。

基本語(yǔ)法格式如下:3.1.3數(shù)據(jù)表操作3.1SQL數(shù)據(jù)表操作重命名數(shù)據(jù)表3ALTERTABLEold_table_nameRENAMETOnew_table_name;RENAMEold_table_nameTOnew_table_name;#2種方法均可實(shí)現(xiàn)重命名數(shù)據(jù)表

不需要使用某個(gè)數(shù)據(jù)表時(shí),可以將它刪除。SQL中DROPTABLE語(yǔ)句用來(lái)刪除數(shù)據(jù)表,以及與該表相關(guān)的所有數(shù)據(jù)、索引、觸發(fā)器、約束和權(quán)限。

基本語(yǔ)法格式如下:3.1.3數(shù)據(jù)表操作3.1SQL數(shù)據(jù)表操作刪除數(shù)據(jù)表4DROPTABLEtable_name;3.2SQL數(shù)據(jù)查詢

數(shù)據(jù)查詢是數(shù)據(jù)庫(kù)的核心操作。SQL是一種查詢功能很強(qiáng)的語(yǔ)言,只要是數(shù)據(jù)庫(kù)存在的數(shù)據(jù),總能通過(guò)適當(dāng)?shù)姆椒▽⑺鼜臄?shù)據(jù)庫(kù)中查找出來(lái)。SQL中的查詢語(yǔ)句只有一個(gè):SELECT語(yǔ)句。

它可以與其他語(yǔ)句配合完成所有的查詢功能,比如WHERE子句、GROUP子句、ORDERBY子句、HAVING子句、JOIN語(yǔ)句、DISTINCT關(guān)鍵字以及子查詢等。3.2SQL數(shù)據(jù)查詢SQL提供了SELECT語(yǔ)句進(jìn)行數(shù)據(jù)查詢,SELECT語(yǔ)句用于從表中選取符合條件的數(shù)據(jù),該數(shù)據(jù)以臨時(shí)表的形式返回,稱為結(jié)果集。SELECT語(yǔ)句的基本語(yǔ)法如下:3.1.1SELECT語(yǔ)句3.2SQL數(shù)據(jù)查詢SELECTcolumn1,column2,columnNFROMtable_name

如果想選取所有的列,那么可以使用“*”代替所有列名,“*”為通配符,表示查找FROM中所指出關(guān)系的所有屬性的值。語(yǔ)法如下:SELECT*FROMtable_name;

使用SQL從單個(gè)表或者多表聯(lián)合查詢數(shù)據(jù)時(shí),可以使用WHERE子句指定查詢條件。當(dāng)給定查詢條件時(shí),只有滿足條件的數(shù)據(jù)才會(huì)被返回。建議使用WHERE子句來(lái)過(guò)濾記錄,以獲取必要的結(jié)果集。WHERE子句用于SELECT語(yǔ)句時(shí)的基本語(yǔ)法如下:3.1.2WHERE子句3.2SQL數(shù)據(jù)查詢SELECTcolumn1,column2,columnNFROMtable_nameWHEREcondition

可以在condition條件中使用

>、<、=等比較運(yùn)算符,或者使用AND、OR等邏輯運(yùn)算符來(lái)指定多個(gè)條件,或者使用LIKE、NOTLIKE等進(jìn)行模糊匹配。GROUPBY子句用來(lái)根據(jù)指定的字段對(duì)結(jié)果集(選取的數(shù)據(jù))進(jìn)行分組,如果某些記錄的指定字段具有相同的值,那么它們將被合并為一條數(shù)據(jù)。通俗地理解,GROUPBY子句將根據(jù)指定的字段合并數(shù)據(jù)行。

借助SQL聚合函數(shù),可以對(duì)分組的數(shù)據(jù)進(jìn)行再次加工,例如:(1)

SUM()函數(shù)可以對(duì)指定字段的值進(jìn)行求和;(2)COUNT()函數(shù)可以計(jì)算某個(gè)分組內(nèi)數(shù)據(jù)的條數(shù);

(3)AVG()函數(shù)可以對(duì)指定字段的值求平均數(shù)。GROUPBY子句的基本語(yǔ)法如下:3.1.3GROUPBY子句3.2SQL數(shù)據(jù)查詢SELECTcolumn1,column2,columnNFROMtable_nameWHERE[conditions]GROUPBYcolumn1,column2ORDERBY子句用于根據(jù)一個(gè)或者多個(gè)字段對(duì)查詢結(jié)果(結(jié)果集)進(jìn)行排序,可以是降序,也可以是升序。默認(rèn)情況下,大部分?jǐn)?shù)據(jù)庫(kù)將查詢結(jié)果按照升序排序。

ORDERBY子句的基本語(yǔ)法如下所示:3.1.4ORDERBY子句3.2SQL數(shù)據(jù)查詢SELECTcolumn1,column2,columnNFROMtable_name[WHEREcondition][ORDERBYcolumn1,column2,..columnN][ASC|DESC]HAVING子句將條件放在由SELECT語(yǔ)句中的GROUPBY子句定義的組中。HAVING子句在SELECT語(yǔ)句中的GROUPBY子句之后實(shí)現(xiàn)。

在SQL中使用HAVING子句是因?yàn)閃HERE子句不能與SQL聚合函數(shù)一起使用。WHERE子句和HAVING子句都用于過(guò)濾SQL查詢中的記錄。SQL中HAVING子句的基本語(yǔ)法如下:3.1.5HAVING子句3.2SQL數(shù)據(jù)查詢SELECTcolumn_Name1,column_Name2,.....,column_NameNaggregate_function_name(column_Name)FROMtable_nameGROUPBYcolumn_Name1HAVINGcondition;JOIN是“連接”的意思,顧名思義,JOIN用于將兩個(gè)或者多個(gè)表聯(lián)合起來(lái)進(jìn)行查詢。聯(lián)合表時(shí)需要在每個(gè)表中選擇一個(gè)字段,并對(duì)這些字段的值進(jìn)行比較,值相同的兩條記錄將合并為一條。

數(shù)據(jù)庫(kù)中的表可以通過(guò)鍵將彼此聯(lián)合起來(lái),一個(gè)典型的例子是,將一個(gè)表的主鍵和另一個(gè)表的外鍵進(jìn)行匹配。使用JOIN連接兩個(gè)表的基本語(yǔ)法如下:3.1.6JOIN語(yǔ)句3.2SQL數(shù)據(jù)查詢SELECTtable1.column1,table2.column2...FROMtable1JOINtable2ONmon_column1=mon_column2SQL允許在JOIN左邊加上一些修飾性的關(guān)鍵詞,從而形成不同類型的連接,如表3-13所示:3.1.6JOIN語(yǔ)句3.2SQL數(shù)據(jù)查詢表3-13JOIN連接方式連接類型說(shuō)明INNERJOIN(默認(rèn)連接方式)只有當(dāng)兩個(gè)表都存在滿足條件的記錄時(shí)才會(huì)返回行LEFTJOIN返回左表中的所有行,即使右表中沒(méi)有滿足條件的行也是如此RIGHTJOIN返回右表中的所有行,即使左表中沒(méi)有滿足條件的行也是如此FULLJOIN只要其中有一個(gè)表存在滿足條件的記錄,就返回行SELFJOIN將一個(gè)表連接到自身,就像該表是兩個(gè)表一樣。為了區(qū)分兩個(gè)表,在

SQL語(yǔ)句中需要至少重命名一個(gè)表DISTINCT關(guān)鍵字需要和SELECT語(yǔ)句一起使用,用來(lái)刪除結(jié)果集中所有重復(fù)的記錄,僅保留唯一的一條記錄。數(shù)據(jù)表中有時(shí)候會(huì)有重復(fù)的記錄,如果你只需要其中一條,就可以使用DISTINCT關(guān)鍵字。DISTINCT關(guān)鍵字的基本語(yǔ)法格式如下:3.1.7DISTINCT關(guān)鍵字3.2SQL數(shù)據(jù)查詢SELECTDISTINCTcolumn1,column2,.....columnNFROMtable_nameWHERE[condition]子查詢也稱“內(nèi)部查詢”或者“嵌套查詢”,是指將一個(gè)SELECT查詢(子查詢)的結(jié)果作為另一個(gè)SQL語(yǔ)句(主查詢)的數(shù)據(jù)來(lái)源或者判斷條件。子查詢可以嵌入SELECT、INSERT、UPDATE和DELETE語(yǔ)句中,也可以和=、<、>、IN、BETWEEN、EXISTS等運(yùn)算符一起使用。(1)用于WHERE子句的子查詢的基本語(yǔ)法如下:3.1.8SQL子查詢3.2SQL數(shù)據(jù)查詢SELECTcolumn_name[,column_name]FROMtable1[,table2]WHEREcolumn_nameOPERATOR(SELECTcolumn_name[,column_name]FROMtable1[,table2][WHERE])(2)用于FROM子句的子查詢的基本語(yǔ)法如下:3.1.8SQL子查詢3.2SQL數(shù)據(jù)查詢SELECTcolumn_name[,column_name]FROM(SELECTcolumn_name[,column_name]FROMtable1[,table2][WHERE])AStemp_table_nameWHEREcondition用于FROM的子查詢返回的結(jié)果相當(dāng)于一張臨時(shí)表,所以需要使用AS關(guān)鍵字為該臨時(shí)表起一個(gè)名字。3.3SQL常用函數(shù)應(yīng)用SQL函數(shù)通常分為聚合函數(shù)和標(biāo)量函數(shù)。聚合函數(shù)對(duì)一組值執(zhí)行計(jì)算并返回單個(gè)值。除了COUNT函數(shù),聚合函數(shù)都會(huì)忽略空值。聚合函數(shù)都具有確定性,任何時(shí)候用一組給定的輸入值調(diào)用它們時(shí),都返回相同的值;標(biāo)量函數(shù)只能對(duì)單個(gè)的數(shù)字或值進(jìn)行計(jì)算,并返回基于輸入值的一個(gè)單一的值,主要包括數(shù)學(xué)函數(shù)、字符串函數(shù)等。3.3SQL常用函數(shù)應(yīng)用SQL函數(shù)聚合函數(shù)標(biāo)量函數(shù)數(shù)學(xué)函數(shù)字符串函數(shù)SUM函數(shù)用于返回表的整數(shù)列的總和。在SQL語(yǔ)言中,對(duì)表的列使用SUM函數(shù),基本語(yǔ)法如下:3.3.1聚合函數(shù)3.3SQL常用函數(shù)應(yīng)用SUM函數(shù)1SELECTColumn_Name1,Column_Name2,SUM(column_Name)ASAlias_NameFROMTable_NameWHEREConditionGROUPBYColumn_Name1,Column_Name2;AVG函數(shù)用于返回表中整數(shù)列的平均值。在SQL語(yǔ)言中,對(duì)表的列使用AVG函數(shù),基本語(yǔ)法如下:3.3.1聚合函數(shù)3.3SQL常用函數(shù)應(yīng)用AVG函數(shù)2SELECTColumn_Name1,Column_Name2,AVG(column_Name)ASAlias_NameFROMTable_NameWHEREConditionGROUPBYColumn_Name1,Column_Name2;COUNT函數(shù)用于返回表中的總行數(shù),即項(xiàng)目的數(shù)量。在SQL語(yǔ)言中,對(duì)表的列使用COUNT函數(shù),基本語(yǔ)法如下:3.3.1聚合函數(shù)3.3SQL常用函數(shù)應(yīng)用COUNT函數(shù)3SELECTCOUNT(column_Name)ASAlias_NameFROMTable_NameWHERECondition;MAX(MIN)函數(shù)用于返回表中指定列的最大(?。┲?。在SQL語(yǔ)言中,對(duì)表的列使用MAX(MIN)函數(shù),基本語(yǔ)法如下:3.3.1聚合函數(shù)3.3SQL常用函數(shù)應(yīng)用MAX和MIN函數(shù)4SELECTMAX(column_Name)ASAlias_Name#如計(jì)算最小值,將MAX改為MIN即可FROMTable_NameWHERECondition;round函數(shù)將指定的數(shù)字四舍五入到特定的小數(shù)位,在SQL語(yǔ)言中,可以對(duì)表的整數(shù)列使用round函數(shù)?;菊Z(yǔ)法如下:3.3.2數(shù)學(xué)函數(shù)3.3SQL常用函數(shù)應(yīng)用round函數(shù)1selectround(column_name,decimals)asalias_namefromtable_namewherecondition;POWER函數(shù)是SQL中的一個(gè)數(shù)學(xué)函數(shù),它返回一個(gè)數(shù)字的值,它是另一個(gè)數(shù)字的冪。在冪函數(shù)中,必須將兩個(gè)數(shù)字作為參數(shù)傳遞,其中一個(gè)數(shù)字作為指數(shù),另一個(gè)作為底數(shù)。

在SQL語(yǔ)言中,可以對(duì)表的整數(shù)列使用POWER函數(shù)?;菊Z(yǔ)法如下:3.3.2數(shù)學(xué)函數(shù)3.3SQL常用函數(shù)應(yīng)用POWER函數(shù)2SELECTPOWER(column_Name1,column_Name2)ASAlias_NameFROMTable_Name;CONCAT函數(shù)添加兩個(gè)或多個(gè)字符或字符串以在結(jié)果中形成一個(gè)新字符串。如果在函數(shù)中只傳遞一個(gè)字符串,那么它會(huì)在輸出中顯示錯(cuò)誤。因此,CONCAT函數(shù)至少需要兩個(gè)字符串?;菊Z(yǔ)法如下:3.3.3字符串函數(shù)3.3SQL常用函數(shù)應(yīng)用CONCAT函數(shù)1SELECTCONCAT(Column_Name1,column_Name2,Column_Name3,.......Column_NameN)ASAlias_NameFROMTable_Name;SQL語(yǔ)言的ASCII函數(shù)顯示字符串第一個(gè)字符的ASCII值。還可以將ASCII函數(shù)與SQL表的字符串字段一起使用?;菊Z(yǔ)法如下:3.3.3字符串函數(shù)3.3SQL常用函數(shù)應(yīng)用ASCII函數(shù)2SELECTASCII(Column_Name)ASAlias_NameFROMTable_Name;SQL語(yǔ)言的LENGTH字符串函數(shù)返回給定字符串或單詞的字符數(shù)?;菊Z(yǔ)法如下:3.3.3字符串函數(shù)3.3SQL常用函數(shù)應(yīng)用LENGTH函數(shù)3SELECTLENGTH(Column_Name)ASAlias_NameFROMTable_Name;3.4SQL語(yǔ)言編程MySQL是一種常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),存儲(chǔ)過(guò)程是MySQL中的一種高級(jí)特性。存儲(chǔ)過(guò)程是一段預(yù)編譯代碼,它可以接收參數(shù)、執(zhí)行一系列的SQL語(yǔ)句、控制流程和返回結(jié)果集。使用存儲(chǔ)過(guò)程可以提高數(shù)據(jù)庫(kù)的性能、減少網(wǎng)絡(luò)流量、簡(jiǎn)化代碼管理和提高安全性。3.4.1存儲(chǔ)過(guò)程3.4SQL語(yǔ)言編程在MySQL中,可以使用CREATE

PROCEDURE語(yǔ)句來(lái)創(chuàng)建存儲(chǔ)過(guò)程?;菊Z(yǔ)法如下:3.4.1存儲(chǔ)過(guò)程3.4SQL語(yǔ)言編程創(chuàng)建存儲(chǔ)過(guò)程1CREATE

PROCEDURE數(shù)據(jù)庫(kù)名.存儲(chǔ)過(guò)程名([in變量名

類型,out參數(shù)2,inout])FROMTable_Name;BEGIN[DECLARE

變量名類型[DEFAULT值];]

存儲(chǔ)過(guò)程的語(yǔ)句塊END;在MySQL中,可以使用CALL語(yǔ)句來(lái)調(diào)用存儲(chǔ)過(guò)程?;菊Z(yǔ)法如下:3.4.1存儲(chǔ)過(guò)程3.4SQL語(yǔ)言編程調(diào)用存儲(chǔ)過(guò)程2CALL

procedure_name(argument_list);procedure_name是存儲(chǔ)過(guò)程的名稱;argument_list是存儲(chǔ)過(guò)程的參數(shù)列表,多個(gè)參數(shù)之間用逗號(hào)分隔。存儲(chǔ)過(guò)程被創(chuàng)建后,就會(huì)一直保存在數(shù)據(jù)庫(kù)服務(wù)器上,直至被刪除。當(dāng)MySQL數(shù)據(jù)庫(kù)中存在廢棄的存儲(chǔ)過(guò)程時(shí),我們需要將它從數(shù)據(jù)庫(kù)中刪除。MySQL中使用DROP

PROCEDURE語(yǔ)句來(lái)刪除數(shù)據(jù)庫(kù)中已經(jīng)存在的存儲(chǔ)過(guò)程?;菊Z(yǔ)法如下:3.4.1存儲(chǔ)過(guò)程3.4SQL語(yǔ)言編程刪除存儲(chǔ)過(guò)程3DROP

PROCEDURE

[IF

EXISTS]<過(guò)程名>MySQL流程控制語(yǔ)句可以通過(guò)一組邏輯規(guī)則對(duì)數(shù)據(jù)進(jìn)行操作和處理,主要包括IF語(yǔ)句、CASE語(yǔ)句、循環(huán)語(yǔ)句(WHILE語(yǔ)句、REPEAT語(yǔ)句、LOOP語(yǔ)句)等,這些語(yǔ)句都可以讓MySQL更加靈活和高效地處理數(shù)據(jù)。通過(guò)使用這些流程控制語(yǔ)句,開(kāi)發(fā)人員可以更加方便地編寫高效的代碼,提高代碼質(zhì)量和開(kāi)發(fā)效率。MySQL流程控制語(yǔ)句是編程中重要的一環(huán),可以用于處理復(fù)雜的業(yè)務(wù)邏輯,從而達(dá)到更好的業(yè)務(wù)效果。3.4.2流程控制3.4SQL語(yǔ)言編程IF語(yǔ)句是MySQL中最基本的流程控制語(yǔ)句。IF語(yǔ)句用來(lái)進(jìn)行條件判斷,根據(jù)是否滿足條件(可包含多個(gè)條件),來(lái)執(zhí)行不同的語(yǔ)句,是流程控制中最常用的判斷語(yǔ)句?;菊Z(yǔ)法如下:3.4.2流程控制3.4SQL語(yǔ)言編程IF語(yǔ)句1IF(Condition,statement1,statement2)其中,Condition表示需要判斷的條件,如果成立,則執(zhí)行statement1,否則執(zhí)行statement2。CASE語(yǔ)句是MySQL流程控制語(yǔ)句中非常重要的一種語(yǔ)句,可以有效地處理復(fù)雜的業(yè)務(wù)邏輯。CASE語(yǔ)句用于根據(jù)條件匹配執(zhí)行不同的語(yǔ)句。CASE語(yǔ)句可以替換多個(gè)IF語(yǔ)句或者嵌套IF語(yǔ)句的情況,提高了代碼的可讀性和可維護(hù)性?;菊Z(yǔ)法如下:3.4.2流程控制3.4SQL語(yǔ)言編程CASE語(yǔ)句2casecase_valuewhenwhen_valuethenstat

溫馨提示

  • 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)論