環(huán)境安裝mysql的5.事務和常用函數(shù)_第1頁
環(huán)境安裝mysql的5.事務和常用函數(shù)_第2頁
環(huán)境安裝mysql的5.事務和常用函數(shù)_第3頁
環(huán)境安裝mysql的5.事務和常用函數(shù)_第4頁
環(huán)境安裝mysql的5.事務和常用函數(shù)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

常用函數(shù)本次要點事務常用函數(shù)字符串函數(shù)數(shù)值函數(shù)日期和時間函數(shù)流程函數(shù)其他常用函數(shù)組函數(shù)事務處理在各種管理系統(tǒng)中都有著廣泛的應用,比如人員管理系統(tǒng),很多同步數(shù)據庫操作大都需要用到事務處理。比如說,在人員管理系統(tǒng)中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數(shù)據庫操作語句就構成一個事務!刪除的SQL語句deletefromuserinfowhere~~~deletefrommailwhere~~deletefromarticlewhere~~如果沒有事務處理,在你刪除的過程中,假設出錯了,只執(zhí)行了第一句,那么其后果是難以想象的!但用事務處理。如果刪除出錯,你只要rollback就可以取消刪除操作(其實是只要你沒有commit你就沒有確實的執(zhí)行該刪除操作)一般來說,在商務級的應用中,都必須考慮事務處理的!事務的ACID屬性MySql中的事務控制字符串函數(shù)數(shù)值常用函數(shù)日期和時間常用函數(shù)流程函數(shù)其他函數(shù)常用函數(shù)聚合函數(shù)對一組值進行運算,并返回單個值。也叫組合函數(shù)。COUNT(*|列名) 統(tǒng)計行數(shù)AVG(數(shù)值類型列名) 平均值SUM(數(shù)值類型列名) 求和MAX(列名) 最大值MIN(列名) 最小值常用聚合函數(shù)示例SELECTAVG(sal)FROMtb_emp##平均工資SELECTSUM(sal)FROMtb_emp##總工資SELECTMAX(sal)FROMtb_emp##最大工資SELECTMIN(sal)FROMtb_emp##最小工資

常用聚合函數(shù)示例SELECTSUM(sal)AS工資總額,MAX(sal)AS最高工資,

MIN(sal)AS最低工資,AVG(sal)AS平均工資

FROMTB_EMP

SELECTCOUNT(*)FROMTB_EMP#count不統(tǒng)計null,統(tǒng)計的是記錄數(shù)SELECTCOUNT(comm)FROMTB_EMP#count不統(tǒng)計null

SELECTCOUNT(DISTINCTdeptno)FROMTB_EMPSELECTAVG(comm)FROMTB_EMP#組函數(shù)忽略空值2200/4=550

#IFNULL(arg,arg)如果第一個參數(shù)為null,則取第二個參數(shù)的值SELECTcommFROMTB_EMPSELECTIFNULL(comm,0)FROMTB_EMPSELECTAVG(IFNULL(comm,0))FROMTB_EMP#2200/14=157數(shù)據分組GROUPBY子句GROUPBY子句的真正作用在于與各種聚合函數(shù)配合使用。它用來對查詢出來的數(shù)據進行分組。分組的含義是:把該列具有相同值的多條記錄當成一組記錄處理,最后只輸出一條記錄。分組函數(shù)忽略空值,。結果集隱式按升序排列,如果需要改變排序方式可以使用Orderby子句。GROUPBY子句

SELECTcolumn,group_function

FROMtable

[WHEREcondition]

[GROUPBYgroup_by_expression]

[ORDERBYcolumn];GROUPBY子句#每個部門的平均工資SELECTdeptno,AVG(sal)FROMTB_EMPGROUPBYdeptno#查每個部門的整體工資情況#如果select語句中的列未使用組函數(shù),那么它必須出現(xiàn)在GROUPBY子句中#而出現(xiàn)在GROUPBY子句中的列,不一定要出現(xiàn)在select語句中SELECTdeptno,AVG(sal),MAX(sal),MIN(sal),SUM(sal),COUNT(1) FROMTB_EMP GROUPBYdeptno#根據部門編號分組#每個部門每個職位的平均工資SELECTdeptno,job,AVG(sal)FROMTB_EMPGROUPBYdeptno,job分組函數(shù)的重要規(guī)則如果使用了分組函數(shù),或者使用GROUPBY的查詢:出現(xiàn)在SELECT列表中的字段,要么出現(xiàn)在組合函數(shù)里,要么出現(xiàn)在GROUPBY子句中。GROUPBY子句的字段可以不出現(xiàn)在SELECT列表當中。使用集合函數(shù)可以不使用GROUPBY子句,此時所有的查詢結果作為一組。限定組的結果:HAVING子句HAVING子句用來對分組后的結果再進行條件過濾。

SELECTcolumn,group_function

FROMtable

[WHEREcondition]

[GROUPBYgroup_by_expression]

[HAVINGgroup_condition]

[ORDERBYcolumn];限定組的結果:HAVING子句#查詢部門平均工資大于2000的#分組后加條件使用having#where和having都是用來做條件限定的,但是having只能用在groupby之后 SELECTdeptno,AVG(sal),MAX(sal),MIN(sal),SUM(sal),COUNT(1) FROMTB_EMP GROUPBYdeptno HAVINGAVG(sal)>2000HAVING與WHERE的區(qū)別WHERE是在分組前進行條件過濾,HAVING子句是在分組后進行條件過濾,WHERE子句中不能使用聚合函數(shù),HAVING子句可以使用聚合函數(shù)。組函數(shù)的錯誤用法不能在WHERE子句中限制組.限制組必須使用HAVING子句.不能在WHERE子句中使用組函數(shù).查詢結果限定在SELECT語句最后可以用LIMLT來限定查詢結果返回的起始記錄和總數(shù)量。MySql特有。SELECT…LIMIToffset_start,row_count;offset_start:第一個返回記錄行的偏移量。默認為0.row_count:要返回記錄行的最大數(shù)目。例子:SELECT*FROMTB_EMPLIMIT5;/*檢索前5個記錄*/SELECT*FROMTB_EMPLIMIT5,10;/*檢索記錄行6-15*/SELECT語句標準格式的SELECT語句#標準sql格式SELECTdeptno,AVG(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論