资源描述:
《结构化查询语言 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、結構化查詢語言MySQLMySQL1引言SQL是什麼?當用戶發出一項查詢,便可從數據庫檔內獲得若干資料。1這項查詢是根據用戶所提供的條件(condition)所作出的一項檢索。用戶只須列明查詢的條件,而不須要實際知道有關的檢索方法。MySQL2引言SQL的概念用戶先列出數據庫檔及查詢的條件。1查詢所得的結果會以表格的形式顯示。可查問統計數項。SQL程序便會在這數據庫檔內檢查每筆記錄是否符合這項條件,並把有關的資料顯示出來。這個過程稱為檢索。MySQL3基本結構2一般語法SELECT,ALL/DISTINCT,*,AS,FROM,WHERE比較IN,BETWEEN,LIKE"%_"群
2、組GROUPBY,HAVING,COUNT(),SUM(),AVG(),MAX(),MIN()顯示次序ORDERBY,ASC/DESC邏輯運算符AND,OR,NOT輸出CREATETABLEAS…MySQL4欄名類型欄寬內容id數字4學生編號name字符10學生名字dob日期8出生日期sex字符1性別:M/Fclass字符2班別hcode字符1社名:R,Y,B,Gdcode字符3地區碼remission邏輯1學費減免mtest數字2數學測驗分數2Table:STUDENT實例:學生個人資料MySQL5欄橫列2Table:STUDENT實例:學生個人資料表格MySQL6一般語法ISE
3、LECT[ALL/DISTINCT]expr1[AScol1],expr2[AScol2]FROMtablenameWHEREconditionSELECT......FROM......WHERE......MySQL7一般語法ISQL程序會從數據庫檔tablename選取符合條件的橫列(row)並以表格的格式顯示。表達式expr1,expr2可以是(1)字段(2)以函數和字段組成的表達式SELECT[ALL/DISTINCT]expr1[AScol1],expr2[AScol2]FROMtablenameWHEREcondition而col1,col2是表達式expr1,exp
4、r2在輸出結果的表格內的欄名。MySQL8一般語法I選項DISTINCT會把重覆出現的橫列刪去(即只顯示一次),而選項ALL則會把所有重覆的保留。條件condition可以是(1)等式或不等式(2)字符串的比較使用邏輯運算符AND,OR,NOTSELECT[ALL/DISTINCT]expr1[AScol1],expr2[AScol2]FROMtablenameWHEREconditionMySQL9一般語法I例1求出所有學生的資料。SELECT*FROMstudent結果MySQL10一般語法I例2求出1A班學生的名字和社名。SELECTname,hcode,classFROMs
5、tudentWHEREclass="1A"Class1A1A1B1A1B:Class1A1A1B1A1B:class="1A"逐一檢查MySQL11一般語法I結果選擇三欄Class1A1A1B1A1B:Class1A1A1A1A1A:hcodenamePeterMaryJohnnyLukeBobby:RYGGB:MySQL12一般語法I例3求出紅社社員的居住地區。SELECTDISTINCTdcodeFROMstudentWHEREhcode="R"結果MySQL13「1B女生」的條件:1)class="1B"2)sex="F"3)符合以上兩項條件(AND運算符
6、)一般語法I例4求出1B班女生的名字和年齡。MySQL14一般語法I例4求出1B班女生的名字和年齡。SELECTname,(2010-year(dob))ASageFROMstudentWHEREclass="1B"ANDsex="F"結果MySQL15一般語法I例5求出1A班沒有學費減免的學生的名字和編號。SELECTname,id,classFROMstudentWHEREclass="1A"ANDremission!=1結果MySQL16比較IIexprIN(value1,value2,value3)exprBETWEENvalue1ANDvalue2exprLIKE"%_"
7、MySQL17比較II例6求出所有出生於星期三或星期六的學生。SELECTname,class,dayofweek(dob)ASbdateFROMstudentWHEREbdateIN(4,7)結果MySQL18比較II例7求出所有不是在一月、三月、六月或九月出生的學生。SELECTname,class,dobFROMstudentWHEREMONTH(dob)NOTIN(1,3,6,9)結果MySQL19比較II例8求出1A班的學生名字,其數學測驗分數界乎於80至9