資源描述:
《JDBC與數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)課件.ppt》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第十章JDBC與數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)Java語(yǔ)言程序設(shè)計(jì)目錄10.1數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)10.2通過(guò)JDBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)10.3本章小結(jié)10.1數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)數(shù)據(jù)管理的兩個(gè)階段文件管理數(shù)據(jù)庫(kù)管理關(guān)系數(shù)據(jù)庫(kù)支持關(guān)系模型應(yīng)用程序訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的基本模式DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))是數(shù)據(jù)庫(kù)的核心DBMS數(shù)據(jù)庫(kù)應(yīng)用程序1數(shù)據(jù)庫(kù)應(yīng)用程序2數(shù)據(jù)庫(kù)應(yīng)用程序3數(shù)據(jù)庫(kù)10.1.4建立一個(gè)實(shí)例數(shù)據(jù)庫(kù)以Windows平臺(tái)上的一個(gè)簡(jiǎn)單的關(guān)系型數(shù)據(jù)庫(kù)Access為例,建立一個(gè)數(shù)據(jù)庫(kù),為編寫(xiě)Java的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)程序提供一個(gè)實(shí)例環(huán)境以學(xué)生數(shù)據(jù)庫(kù)為例。數(shù)據(jù)庫(kù)名:s
2、tu,表名:stu,字段:no,name。10.1.5SQL語(yǔ)言簡(jiǎn)介SQL語(yǔ)言關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言,從大型數(shù)據(jù)庫(kù)(如Oracle)到微機(jī)數(shù)據(jù)庫(kù)(如Access)都支持可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作。在SQL語(yǔ)言中,對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作可分為讀寫(xiě)兩種讀操作(查詢(xún))通過(guò)SELECT語(yǔ)句實(shí)現(xiàn),該語(yǔ)句的執(zhí)行不會(huì)改變數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以返回一行或多行數(shù)據(jù)也可能沒(méi)有返回結(jié)果(沒(méi)有查到滿(mǎn)足條件的記錄)涉及到寫(xiě)操作的語(yǔ)句共有3個(gè)INSERTUPDATEDELETE10.1.5SQL語(yǔ)言簡(jiǎn)介(續(xù))——SQL語(yǔ)言的讀/寫(xiě)操作插入語(yǔ)句向
3、指定表插入一條記錄,插入的值要與表的定義匹配插入一行數(shù)據(jù)NSERTINTOtable_nameVALUES(value1,value2,....)插入一行數(shù)據(jù)在指定的字段上INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,....)例如在person表中插入一行INSERTINTOstuVALUES(1,'張三');10.1.5SQL語(yǔ)言簡(jiǎn)介(續(xù))——插入語(yǔ)句修改語(yǔ)句修改指定記錄中某列的值,更新表中原有數(shù)據(jù)其格式為UPDATEtable
4、_nameSETcolumn_name=new_valueWHEREcolumn_name=some_value例如:將person表中id號(hào)為1的人員的工資修改為3700元UPDATEpersonSETsalary=3700//指定對(duì)哪列進(jìn)行修改、如何修改WHEREid=1;//選擇要修改的行10.1.5SQL語(yǔ)言簡(jiǎn)介(續(xù))——修改語(yǔ)句刪除語(yǔ)句刪除表中的指定的數(shù)據(jù)其格式為DELETEFROMtable_nameWHEREcolumn_name=some_value例如刪除部門(mén)號(hào)為4的員工記錄DELETEFR
5、OMpersonWHEREdepartment=4;10.1.5SQL語(yǔ)言簡(jiǎn)介(續(xù))——?jiǎng)h除語(yǔ)句查詢(xún)語(yǔ)句從指定表中取出指定的數(shù)據(jù)SELECTselect_list[INTOnew_table]FROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[ASC
6、DESC]]10.1.5SQL語(yǔ)言簡(jiǎn)介(續(xù))——查詢(xún)語(yǔ)句例:查詢(xún)工資大于2000的
7、員工的姓名及職務(wù)SELECT*//“*”號(hào)表示輸出全部列的值FROMperson//指定查詢(xún)的表,本查詢(xún)只用到person表WHEREsalary>2000;//查詢(xún)條件例:查詢(xún)員工“張三”的學(xué)歷,輸出學(xué)歷名SELECTeducation.nameFROMperson,education//該查詢(xún)用到兩個(gè)表WHEREperson.name='張三'ANDperson.education=education.eduid;例:查詢(xún)學(xué)生表中的所有數(shù)據(jù)SELECT*FROMstu10.1.5SQL語(yǔ)言簡(jiǎn)介(續(xù))——查
8、詢(xún)語(yǔ)句10.2通過(guò)JDBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)JDBC(JavaDataBaseConnectivity)是用于執(zhí)行SQL語(yǔ)句的Java應(yīng)用程序接口,由一組用Java語(yǔ)言編寫(xiě)的類(lèi)與接口組成,是一種底層API使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序用JDBC寫(xiě)的程序能夠自動(dòng)地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是一種規(guī)范,它讓各數(shù)據(jù)庫(kù)廠商為Java程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)類(lèi)和接口,這樣就使得獨(dú)立于DBMS的Java應(yīng)用開(kāi)發(fā)工具和產(chǎn)品成為可能隔離了Java與不同數(shù)據(jù)庫(kù)之間的對(duì)話(huà),使得程序
9、員只須寫(xiě)一遍程序就可讓它在任何數(shù)據(jù)庫(kù)管理系統(tǒng)平臺(tái)上運(yùn)行JDBCAPI是一組由Java語(yǔ)言編寫(xiě)的類(lèi)和接口,包含在java.sql和javax.sql兩個(gè)包中java.sql為核心包,這個(gè)包包含于J2SE中javax.sql包擴(kuò)展了JDBCAPI的功能,成為了J2EE的一個(gè)基本組成部分可分為兩個(gè)層次面向底層的JDBCDriverAPI主要是針對(duì)數(shù)據(jù)庫(kù)廠商開(kāi)發(fā)數(shù)據(jù)庫(kù)底層驅(qū)動(dòng)程序使用面向程序員的JDBCAP