




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫應(yīng)用開發(fā)簡介 作為有效的數(shù)據(jù)存儲和組織管理工具,數(shù)據(jù)庫的應(yīng)用日益廣泛目前主流的數(shù)據(jù)庫產(chǎn)品有Oracle、SQL Server、DB2和SyBase等多種。在數(shù)據(jù)庫開發(fā)領(lǐng)域中,有三個方面需要掌握:SQL語言、ODBC數(shù)據(jù)訪問接口和JDBC數(shù)據(jù)庫訪問接口。數(shù)據(jù)庫應(yīng)用開發(fā)簡介 作為有效的數(shù)據(jù)存儲和組織管理工具,數(shù)據(jù)庫SQL語言概述 SQL(Structured Query Language)是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,是由國際標(biāo)準(zhǔn)組織提出的,各種關(guān)系型數(shù)據(jù)庫都支持SQL指令,Oracle在基本的SQL基礎(chǔ)上進(jìn)行了擴(kuò)充。SQL集DDL(Data Definition Language:數(shù)據(jù)定義語言
2、),DML(Data Manipulation Language:數(shù)據(jù)操作語言)和DCL(Data Control Language:數(shù)據(jù)控制語言)于一體。用SQL語言可以實(shí)現(xiàn)數(shù)據(jù)庫生命周期的全部活動。 SQL語句有如下的兩大特點(diǎn)(1)SQL是一種類似于英語的語言,很容易理解和書寫。(2)SQL語言是非過程化的語言(第四代語言)。SQL語言概述 SQL(Structured QueryODBC數(shù)據(jù)訪問接口 開放式數(shù)據(jù)庫互連ODBC(Open DataBase Connectivity)是微軟公司開發(fā)的一套開發(fā)數(shù)據(jù)庫系統(tǒng)應(yīng)用程序接口規(guī)范,它支持應(yīng)用程序以標(biāo)準(zhǔn)的ODBC函數(shù)和SQL語句操作各種不同
3、的數(shù)據(jù)庫。 ODBC數(shù)據(jù)訪問接口 開放式數(shù)據(jù)庫互連ODBC(Open DJDBC數(shù)據(jù)訪問接口 為支持Java程序的數(shù)據(jù)庫操作功能,Java語言采用了專門Java數(shù)據(jù)庫編程接口(JDBC,Java DataBase Connectivity),用于在Java程序中實(shí)現(xiàn)數(shù)據(jù)庫操作功能并簡化操作過程。JDBC支持基本SQL語句,提供多樣化的數(shù)據(jù)庫連接方式,為各種不同的數(shù)據(jù)庫提供統(tǒng)一的操作界面 JDBC數(shù)據(jù)訪問接口 為支持Java程序的數(shù)據(jù)庫操作功能,JSQL語句分類 SQL分類描述數(shù)據(jù)定義語言(DDL)數(shù)據(jù)定義語言(DDL)用于定義、修改或者刪除數(shù)據(jù)庫對象,如Create Table等數(shù)據(jù)查詢語言(
4、DQL)數(shù)據(jù)查詢語句(Data Query Language,DQL)用于對數(shù)據(jù)進(jìn)行檢索。如最常用的Select語句數(shù)據(jù)操縱語言(DML)數(shù)據(jù)操縱語言(DML)用于訪問、建立或者操縱在數(shù)據(jù)庫中已經(jīng)存在數(shù)據(jù),如Select、Insert、Update和Delete等等。事務(wù)控制語言(TCL)事務(wù)控制語言(Transact Control Language)管理DML語句所做的修改,是否保存修改或者放棄修改。如:Commit、Rollback、Savepoint、Set Transaction等命令。數(shù)據(jù)控制語言(DCL)數(shù)據(jù)控制語言(DCL)管理對數(shù)據(jù)庫內(nèi)對象的訪問權(quán)限和授予和回收,如Grant
5、、Revoke等等。SQL語句分類 SQL分類描述數(shù)據(jù)定義語言數(shù)據(jù)定義語言(DD基本SQL語句 基本的SQL語句包括DQL和DML。也就是對數(shù)據(jù)庫最常用的四大基本操作:查詢(Select)、插入(Insert)、更新(Update)和刪除(Delete) 基本SQL語句 基本的SQL語句包括DQL和DML。也就是對查詢語句 SELECT 字段名 FROM 數(shù)據(jù)表 WHERE 篩選條件SELECT * FROM grade WHERE數(shù)學(xué)=80 or 語文=90SELECT * from userTable where user_age in 20,22,25SELECT * from user
6、Table where user_name like 王%SELECT * from userTable where user_name is null查詢語句 SELECT 字段名 FROM 數(shù)據(jù)表 WHEDML的基本格式(1)DELETE指令:刪除數(shù)據(jù)記錄?;菊Z法:DELETE FROM 數(shù)據(jù)表 WHERE 條件例:DELETE from grade WHERE 數(shù)學(xué)=0 功能說明:刪除所有數(shù)學(xué)成績?yōu)榱愕挠涗洠绻麤]有WHERE子句,則刪除所有記錄。(2)UPDATE指令:更新數(shù)據(jù)記錄?;菊Z法:UPDATE 數(shù)據(jù)表 SET 字段值=新值 WHERE條件例1:UPDATE grade S
7、ET 數(shù)學(xué)=數(shù)學(xué)+10 說明:將grade表中所有人的成績加10分 例2:UPDATE grade SET 數(shù)學(xué)=100 WHERE 姓名 like %敏% 功能說明:將姓名中含有敏的人的數(shù)學(xué)成績更新為100分DML的基本格式(1)DELETE指令:刪除數(shù)據(jù)記錄。(2)INSERT INTO指令功能說明:該語句等價于:INSERT INTO grade(學(xué)號, 姓名, 語文, 數(shù)學(xué), 英語) VALUES (5678, 周潤發(fā),70,80,90)(3)INSERT INTO指令:添加數(shù)據(jù)記錄?;靖袷?:INSERT INTO 數(shù)據(jù)表 VALUES (字段新值)基本格式2:INSERT INT
8、O 數(shù)據(jù)表(字段一,字段二,) VALUES (字段新值) 其中關(guān)鍵字兩種格式的區(qū)別是:當(dāng)values含有數(shù)據(jù)庫表所有字段的值,并且順序和數(shù)據(jù)庫字段一致時,就可以省略數(shù)據(jù)庫表后面的字段名稱。例1:INSERT INTO grade(學(xué)號, 姓名, 數(shù)學(xué)) VALUES (1234, 周潤發(fā),70)例2:INSERT INTO grade VALUES (5678, 周潤發(fā),70,80,90)INSERT INTO指令功能說明:該語句等價于:(3)INJDBC的四種類型 目前,比較常見的JDBC驅(qū)動程序可分為以下4種類型:(1)JDBC-ODBC橋加ODBC驅(qū)動程序:JDBC-ODBC橋產(chǎn)品利用
9、ODBC驅(qū)動程序提供JDBC訪問。在服務(wù)器上必須可以安裝ODBC驅(qū)動程序。(2)本地API:這種類型的驅(qū)動程序把客戶機(jī)API上的JDBC調(diào)用轉(zhuǎn)換為Oracle、Sybase、Informix、DB2或其它DBMS的調(diào)用。(3)JDBC網(wǎng)絡(luò)純Java驅(qū)動程序:這種驅(qū)動程序?qū)DBC轉(zhuǎn)換為與DBMS無關(guān)的網(wǎng)絡(luò)協(xié)議,之后這種協(xié)議又被某個服務(wù)器轉(zhuǎn)換為一種DBMS協(xié)議。這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⑺募僇ava客戶機(jī)連接到多種不同的數(shù)據(jù)庫上。第3類和第4類驅(qū)動程序?qū)⒊蔀镴DBC訪問數(shù)據(jù)庫的首選方法。第1類和第2類驅(qū)動程序在直接的純Java驅(qū)動程序還沒有上市前會作為過渡方案來使用。(4)本地協(xié)議純Java驅(qū)
10、動程序:這種類型的驅(qū)動程序?qū)DBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機(jī)機(jī)器上直接調(diào)用DBMS服務(wù)器,是Intranet訪問的一個很實(shí)用的解決方法。JDBC的四種類型 目前,比較常見的JDBC驅(qū)動程序可分為以O(shè)DBC數(shù)據(jù)源 ODBC配置ODBC數(shù)據(jù)源 ODBC配置數(shù)據(jù)驅(qū)動程序 使用JDBC的第一步是安裝驅(qū)動程序。大多數(shù)數(shù)據(jù)庫都有JDBC驅(qū)動程序,常用的JDBC驅(qū)動程序如圖所示。數(shù)據(jù)驅(qū)動程序 使用JDBC的第一步是安裝驅(qū)動程序。大多數(shù)數(shù)據(jù)Driver 連接數(shù)據(jù)庫前先要加載驅(qū)動程序import java.sql.*Class.forName(“sun.jdbc.odbc.Jdb
11、cOdbcDriver”);Class.forName(“jdbc.driver_class_name”);com.microsoft.jdbc.sqlserver.SQLServerDriverorg.gjt.mm.mysql.DriverOracle.jdbc.driver.OracleDriverDriver 連接數(shù)據(jù)庫前先要加載驅(qū)動程序import jaConnection對象 public static Connection getConnection(String url, String user, String password) throws SQLException 建立是建
12、立與數(shù)據(jù)庫之間的連接,也就是創(chuàng)建一個Connection的實(shí)例。DriverManager類的getConnection()方法將建立數(shù)據(jù)庫的連接:在程序的最后,應(yīng)該關(guān)閉Connection對象:public void close() throws SQLExceptionSQL Server下的URL:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=xxConnection對象 public static ConConnection接口的方法 public Statement createStatement() throws SQL
13、Exception public void commit() throws SQLExceptionpublic boolean getAutoCommit() throws SQLException public CallableStatement prepareCall(String sql) throws SQLExceptionConnection接口的方法 public StatemeStatement對象 Statement對象用于將SQL語句發(fā)送到數(shù)據(jù)庫中。存在3種Statement對象:(1)Statement;(2)PreparedStatement(從Statement繼承
14、而來);(3)CallableStatement(從PreparedStatement繼承而來)。Statement對象 Statement對象用于將SQL語Statement接口Statement接口提供了兩種執(zhí)行SQL語句的常用方法:public ResultSet executeQuery(String sql) throws SQLException用于產(chǎn)生單個ResultSet的語句,例如SELECT語句。public int executeUpdate(String sql) throws SQLException用于執(zhí)行INSERT、UPDATE或DELETE語句以及SQL DD
15、L語句,例如CREATE TABLE和DROP TABLE。該方法返回一個整數(shù),指示受影響的行數(shù)。Statement接口Statement接口提供了兩種執(zhí)行SResultSet對象 ResultSet包含符合SQL語句執(zhí)行結(jié)果所有行,并且它通過一套get方法提供了對這些行中數(shù)據(jù)的訪問,常用的get方法有:int getInt(int columnIndex),取得當(dāng)前行中第columnIndex列的整數(shù)的值。int getInt(String columnName),取得當(dāng)前行中列名為columnName的整數(shù)的值。其他方法:getDate(int columnIndex) getDate(S
16、tring columnName)getString(int columnIndex) ,getString(String columnName)ResultSet維護(hù)指向其當(dāng)前數(shù)據(jù)行的光標(biāo),讓光標(biāo)向下移動一行的方法是:public boolean next() throws SQLExceptionResultSet對象 ResultSet包含符合SQL語句利用While循環(huán)獲取數(shù)據(jù)表中所有記錄 利用ResultSet對象在建立時,記錄指針指向第一條記錄之前,結(jié)合ResultSet對象提供的next方法,在while循環(huán)中移動記錄指針,向下逐條地將數(shù)據(jù)庫中的記錄依次獲取,在移動到記錄的最后一
17、條,由next方法返回值false來結(jié)束循環(huán)。語法結(jié)構(gòu): while(rs.next() rs.getXXX(“字段名稱”); 利用While循環(huán)獲取數(shù)據(jù)表中所有記錄 利用Result結(jié)果集類型 結(jié)果集類型有3種:ResultSet.TYPE_FORWORD_ONLY:指定ResultSet對象是不可滾動,這是默認(rèn)值。ResultSet.TYPE_SCOLL_INSENSITIVE:指定ResultSet對象是可滾動的,但是對數(shù)據(jù)庫中修改不敏感。ResultSet.TYPE_SCOLL_SENSITIVE:指定ResultSet對象是可滾動的,而且對數(shù)據(jù)庫的修改敏感。結(jié)果集類型 結(jié)果集類型有3
18、種:ResultSet.TYPE_修改對結(jié)果集的影響 類型看到內(nèi)部更新看到內(nèi)部刪除看到內(nèi)部插入看到外部更新看到外部刪除看到外部插入只向前是否否否否否可滾動不敏感是是否否否否可滾動敏感是是否是否否修改對結(jié)果集的影響 類型看到內(nèi)部更新看到內(nèi)部刪除看到內(nèi)部插入結(jié)果集的并發(fā)性結(jié)果集的并發(fā)性(Concurrency)決定ResultSet對象是否可以修改數(shù)據(jù)庫中的行??梢允褂肦esultSet類中定義的int常量來指定結(jié)果集的并發(fā)性。ResultSet.CONCUR_READ_ONLY,指定ResultSet對象不能修改數(shù)據(jù)庫,默認(rèn)值。ResultSet.CONCUR_UPDATABLE,指定ResultSet對象可以修改數(shù)據(jù)庫結(jié)果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代文學(xué)的社會批判精神試題及答案
- 22025年公共基礎(chǔ)知識回顧總結(jié)試題及答案
- 2025年Web考試領(lǐng)域試題及答案探索
- 紙品清潔項(xiàng)目效益評估報告
- 醫(yī)院急診科首診負(fù)責(zé)制流程分析
- 智能家居系統(tǒng)中的電氣自動化設(shè)計(jì)范文
- 2025年上學(xué)期中班趣味教學(xué)方案
- 同聲傳譯翻譯服務(wù)項(xiàng)目追加費(fèi)用補(bǔ)充協(xié)議
- 歐洲籃球聯(lián)賽官方贊助協(xié)議
- 國際旅行綜合保障保險代理服務(wù)協(xié)議
- 巨量-營銷科學(xué)(初級)認(rèn)證培訓(xùn)考試題庫(含答案)
- 2024年河南省機(jī)關(guān)單位工勤技能人員培訓(xùn)考核高級工技師《職業(yè)道德》題庫
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計(jì)規(guī)范(廣東省標(biāo)準(zhǔn))
- 壓力容器制造質(zhì)量保證手冊+程序文件+表格-符合TSG 07-2019特種設(shè)備質(zhì)量保證管理體系
- 山東省濟(jì)南市歷城區(qū)2023-2024學(xué)年七年級下學(xué)期期末語文試題(解析版)
- DL∕T 1864-2018 獨(dú)立型微電網(wǎng)監(jiān)控系統(tǒng)技術(shù)規(guī)范
- 2024年湖南省中考道德與法治試題卷(含答案解析)
- 極坐標(biāo)法課件講解
- 蘇州2024年江蘇蘇州張家港市事業(yè)單位招聘筆試筆試歷年典型考題及考點(diǎn)附答案解析
- 八年級語文下冊(部編版) 第四單元 經(jīng)典演講-單元主題閱讀訓(xùn)練(含解析)
- 2024新高考英語1卷試題及答案(含聽力原文)
評論
0/150
提交評論