講義參考案例oracle itheima_第1頁
講義參考案例oracle itheima_第2頁
講義參考案例oracle itheima_第3頁
講義參考案例oracle itheima_第4頁
講義參考案例oracle itheima_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第三天:oracleoracle(變量、if條件結(jié)構(gòu)、for循環(huán)結(jié)構(gòu)...)oracleoracleoraclejava語言使用JDBCOracle一、ORACLE(一)什么是Oracle數(shù)據(jù)庫思想的誕生是在IBM60年代-70年代--IBM的一款數(shù)據(jù)庫(二)ORACLE體系結(jié)運(yùn)行oracle數(shù)據(jù)庫,必須啟動(dòng)oracle的器,器oracle的數(shù)據(jù)庫服務(wù),在oracle的服務(wù)商可以創(chuàng)建數(shù)據(jù)庫的實(shí)例,oracle的數(shù)據(jù)庫可以看成是oracleoracle存二、ORACLE(一)版本和Oracle8、9i,10g,11g,12c完整版本Oracle的windows版本(32位)是從直接的參考: (二)軟件安這個(gè)口令是sys和system這兩個(gè)超級(jí)用戶的。sys相當(dāng)于mysql的rootOracle1521(類似mysql3306端口8080端口可能會(huì)被占用。你可以將這個(gè)服務(wù)sys和system是系統(tǒng)的管理員帳號(hào),默認(rèn)是安裝Oracle時(shí)指定的。(三)Oracle的服windows下打開“運(yùn)行”,輸入“Services.mscOracle相關(guān)的服務(wù)。 新手如何這兩個(gè)服務(wù)的名字呢?cái)?shù)據(jù)庫實(shí)例服務(wù):Oracle+Service+SIDOracle默認(rèn)的SID是xe,完整版的Oracle默認(rèn)的SID是orcl。建議先啟動(dòng)實(shí)例服務(wù):OracleServiceXE,再啟動(dòng)服(四)PLSQLDeveloper安裝與配通過cmdOracle解壓資源文件夾 不能有中文和空格,否則連接不上(尤其是win10系統(tǒng)輸入用戶名 到軟件主界面。Oracle和mysql(一)創(chuàng)建表Oracle中,表空間分為(永久)表空間和臨時(shí)表空間createcreatetablespace21spacedatafile'd:\21space.dbf'size10mautoextend21spacedatafilesizeautoextend 用于設(shè)置自動(dòng)增長,如果量超過初始大小,則開始自動(dòng)擴(kuò)(二)刪除表21space--includingand(三)創(chuàng)建臨時(shí)表空CreateCreatetemporarytempfile'd:\ size100mautoextend21temptempfilesizeautoextend 用于設(shè)置自動(dòng)增長,如果量超過初始大小,則開始自動(dòng)擴(kuò)(四)創(chuàng)建用createcreateuserdefaulttablespace temporarytablespace quota50m 21identifiedbydefault temporarytablespacequotaon(五)用戶賦grantgrantcreatesession grantgrantselectonhr.employees (六)用戶角grantgrantdba 給用 21賦予DBA權(quán)限后即可登sys用戶、system用戶和dba角色的用戶三者的權(quán)限比較(一)創(chuàng)建CREATECREATETABLE表名稱字段名類型(長度primary字段名類型(長度分類描例如 最大可以存的數(shù) 定長unicode 變長unicode4GB(已淘汰8-12TB數(shù)據(jù)并可分段處理字符,4個(gè)G圖像、聲音、等二進(jìn)制數(shù)據(jù),最4創(chuàng)建學(xué)生表:學(xué)生表:學(xué)號(hào)、、、、生日、郵箱createtablestudentcreatetablestudent--表名不能使用關(guān)鍵字stunostunamevarchar2(20),agenumber(3,0),--第一個(gè)參數(shù)表示:總長度;第二個(gè)參數(shù):表示小數(shù)部分birthdaydate,phone 建表方式二:建表的時(shí)候表結(jié)構(gòu)和表數(shù)createtableempasselect*fromhr.employees;createtabledeptasselect*fromcreatetablejobas*createtablelocas*(二)修改1.增加字段語法ALTERTABLE表名稱(1類型[DEFAULT默認(rèn)值1類型[DEFAULT默認(rèn)值)----追加字altertablestudentaddremarkremarkvarchar2(20),order_nointALTERALTERTABLE表名稱MODIFY(1類型[DEFAULT默認(rèn)值]1型[DEFAULT默認(rèn)值----修改字altertablestudentmodifyremarknvarchar2(50),order_noALTERALTERTABLE表名稱dropcolumn----修改字altertablestudentdropcolumn(三)刪除DROPDROPTABLE(一)約束的概念作約束是可以更好的保證數(shù)據(jù)庫數(shù)據(jù)的完整性和一致性(二)約束創(chuàng)建的時(shí)(三)常見的約束類NOT UNIQUEPRIMARYKEYFOREIGNKEY(四)添加約約約--主鍵約createtablestuinfostunointprimarykey,stunamevarchar2(20)--添加主鍵方式二:推createtablestuinfostunostunameconstraintpk_stunoprimary--添加主鍵方式三:推薦,(表創(chuàng)建完了之后,添加主鍵createtablestuinfostunostuname--添加主altertablestuinfoaddconstraintpk_stunoprimary--刪除主altertablestuinfodropprimary--學(xué)唯一altertablestudentaddconstraintuq_stuname----altertablestudentmodifyphonenotcreatetablestuinfostunostunamevarchar2(20)default('男'),--1varchar2(20)1in('男','女2varchar2(20)2='男2女a(chǎn)geintcheck(agebetween0and80),age1intcheck(age1>0and----stuinfo的stunoaltertablestudentaddconstraintpk_student_stunoprimaryAltertablestuinfoaddconstraintfk_stunoforeignk(五)約束的應(yīng)用選(一)插入數(shù) 執(zhí)行INSERT后一定要再執(zhí)行commit提交事務(wù)----insertintostudent(stuno,stuname,phone)--insertintostudent(二)修改數(shù)UPDATEUPDATE表名SET1=12=2,....WHEREUPDATE后一定要再執(zhí)行commit需求:將編號(hào)為1的學(xué)生的改為updateupdatestudentsetphone='12345678999'where(三)刪除數(shù)DELETEDELETEFROM表 刪除條件DELETE后一定要再執(zhí)行commit2deletedeletefromstudentwhere 比較truncate與deletedelete刪除的數(shù)據(jù)可以deletetruncate七、JDBC連接ORACLE----項(xiàng)目案例:《自來水公司系(一)項(xiàng)目介紹與需求分XXX市自來水公司為更好地對(duì)自來水進(jìn)行規(guī)范化管理,決定委據(jù)并發(fā)量高,決定數(shù)據(jù)庫采用ORACLE數(shù)據(jù)庫。主要功能包括:2、管理(2)查3、管理(2)登(3)記錄查(4)4(1)日?qǐng)?bào)(2)月報(bào)(二)表結(jié)構(gòu)業(yè)主類型表是是價(jià)格表是是是是是區(qū)域表是是區(qū)員表是是地址表是是是是業(yè)主表是是是是是是是臺(tái)賬是是是是是是是員7createcreatetablet_ownersidnumberprimarykey,namevarchar2(30), housenumbervarchar2(30),watermetervarchar2(30),adddatedate,ownertypeidinsertintot_ownersvalues(1,'范冰',1,'1-1','30406',to_date('2015-04-1dd'),1);insertintot_ownersvalues(2,'王強(qiáng)',1,'1-2','30407',to_date('2015-02-1dd'),1);(一)創(chuàng)建工程,引入驅(qū)動(dòng)在下 中可以找到驅(qū)動(dòng)包ORACLE的JDBC驅(qū)動(dòng)包,拷貝到工程即可使 創(chuàng)建java工程waterboss,建立lib文件夾,將ojdbc.jaraddbuild(二packagecn. importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;數(shù)據(jù) 的基@authorpublicclassBaseDaopublicstaticConnectiongetConnection(){Connectioncon=null;try{con=DriverManager.getConnection("jdbc:oracle:thin:@localhos }catch(ClassNotFoundExceptione)//TODOAuto-generatedcatchblock}catch(SQLExceptione)//TODOAuto-generatedcatchblock}return}publicstaticvoidcloseAll(Connectioncon,Statementtrytry}}}}catch(SQLExceptione)//TODOAuto-generatedcatchblock}}}JDBCjdbc:oracle:thin:@oracle所在主機(jī)的(三)業(yè)主增刪改代碼編1.packagepackageimportpublicclassOwnersprivateintid;//privateStringname;//privateintaddre privateStringhousenumber;//門牌號(hào)privateStringwatermeter;//水表號(hào)privateDateadddate;//登記日期privateintownertypeid;//publicintgetId()return}publicvoidsetId(intid)this.id=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicint ()return }publicvoid (int ) = }publicStringgetHousenumber()return}publicvoidsetHousenumber(Stringhousenumber)this.housenumber=}publicStringgetWatermeter()return}publicvoidsetWatermeter(Stringwatermeter)this.watermeter=}publicpublicDategetAdddate()return}publicvoidsetAdddate(Dateadddate)this.adddate=}publicintgetOwnertypeid()return}publicvoidsetOwnertypeid(intownertypeid)this.ownertypeid=}}2.Daopackage importimportimportimportimport publicclassOwnersDaoextendsBaseDaopublicstaticvoidadd(Ownersowners){Connectioncon=getConnection();PreparedStatementpstmt=null;trypstmt=con.prepareStatement("insertintot_ownerspstmt.setInt(1,owners.getId());pstmt.setString(2,owners.getName());pstmt.setInt(3,owners.getAddre pstmt.setString(4,owners.getHousenumber());pstmt.setString(5,owners.getWatermeter());pstmt.setDate(6,owners.getAdddate());pstmt.setInt(7,owners.getOwnertypeid());}}catch(SQLExceptione)//TODOAuto-generatedcatchblockcloseAll(con,pstmt,}}publicstaticvoidupdate(Ownersowners){Connectioncon=getConnection();PreparedStatementpstmt=null;trypstmt=con.prepareStatement("updatet_ownersset id=?");pstmt.setString(1,owners.getName());pstmt.setInt(2,owners.getAddre pstmt.setString(3,owners.getHousenumber());pstmt.setString(4,owners.getWatermeter());pstmt.setDate(5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論