版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Oracle應用第十二章數(shù)據(jù)庫、數(shù)據(jù)庫實例的含義及區(qū)別?寫出如下操作的SQL語句創(chuàng)建用戶“jbit”,密碼為“bdqn”CREATE
USER
jbit
IDENTIFIED
BY
bdqn;為用戶“jbit”授予“DBA”角色GRANT
DBA
TO
jbit;創(chuàng)建數(shù)據(jù)庫表student(id,name,sex,birth)CREATE
TABLE
student(id
NUMBER PRIMARY
KEY,name
VARCHAR2(8),sex
CHAR(2),birth
DATE);數(shù)據(jù)庫連接字符串各部分的含義是什么?TO_CHAR()和TO_DATE()函數(shù)的作用是什么?唯一索引和非唯一索引的區(qū)別是什么?有哪些導入導出Oracle中數(shù)據(jù)的方法?"
jdbc:oracle:thin:@10.0.0.41:1521:sjbitdb
"實現(xiàn)主人登錄功能實現(xiàn)主人領養(yǎng)寵物實現(xiàn)主人所有寵物信息的顯示掌握使用JDBC連接到Oracle掌握Oracle常用函數(shù)掌握Oracle索引掌握Oracle數(shù)據(jù)導入導出編寫控制臺程序,實現(xiàn)主人登錄。數(shù)據(jù)庫為Oracle使用JDBC可以為多種數(shù)據(jù)庫提供統(tǒng)一訪問。不同之處在于數(shù)據(jù)庫驅動類名稱字符串、數(shù)據(jù)庫連接字符串等參數(shù)不同public
class
MasterManager
{private
boolean
login(String
loginId,
String
password)
{String
driver
=
"oracle.jdbc.driver.OracleDriver";
String
url
=
"jdbc:oracle:thin:@10.0.0.41:1521:sjbitdb";String
user
=
"epet";String
pwd
=
"bdqn";…Class.forName(driver);}}conn=DriverManager.getConnection(url,
user,pwd);String
sql
=
"select
1
from
master
where loginid
=
?"
+"and
password
=
?
and
status=1";pstmt
=
conn.prepareStatement(sql);pstmt.setString(1,
loginId);pstmt.setString(2,
password);rs
=
pstmt.executeQuery();…演示示例:使用JDBC訪問Oracle不要忘記向項目導入Oracle驅動程序jar包@Oracle服務器IP地址:端口號:數(shù)據(jù)庫實例名訓練要點:自定義日期顯示格式:EXTRACT()、TO_CHAR()字段的字符串顯示:DECODE()給字段指定默認值:NVL()需求說明:主人登錄成功后,顯示主人的所有寵物信息如果寵物的name字段值為空,顯示“無名”如果寵物status值為1,顯示“正?!保瑸?則顯示“禁用”自定義寵物adopt_time字段的顯示格式講解需求說明實現(xiàn)思路:編碼顯示所有寵物信息根據(jù)數(shù)據(jù)庫表pet編寫實體類Pet編寫類PetManager,查詢所有寵物信息編寫類PetManagerTest,顯示所有寵物信息難點指導:EXTRACT()、TO_CHAR()的使用難點指導:DECODE()、NVL()的使用完成時間:30分鐘需求說明:主人通過輸入寵物名字、選擇寵物類型來領養(yǎng)寵物,然后顯示領養(yǎng)成功或失敗的提示。領養(yǎng)完畢后顯示主人最新的領養(yǎng)寵物列表完成時間:20分鐘常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解顯示主人在2010年以后領養(yǎng)寵物的信息SELECT
*
FROM
petWHERE
master_id=1
AND
adopt_time
>
'2010-01-01';Oracle支持日期比較,但不會把“2010-01-01”當做日期識別,而是認為是字符串采用TO_CHAR()函數(shù)采用Oracle默認日期字符串格式DD-MON-YY采用TO_DATE()函數(shù)TO_CHAR()SELECT
*
FROM
pet
WHERE
master_id=1
ANDTO_CHAR(adopt_time,'YYYY')>'2009';默認日期字符串格式DD-MON-YYSELECT
*
FROM
pet
WHERE
master_id=1
ANDadopt_time>'1-1月-10';SELECT
*
FROM
pet
WHERE
master_id=1
AND
adopt_time>
TO_DATE('01-1月-2010');SELECT
*
FROM
pet
WHERE
master_id=1
AND
adopt_time
>TO_DATE('2010-01-
01'
,'YYYY-MM-DD');SELECT
*
FROM
pet
WHERE
master_id=1
AND
adopt_time
>TO_DATE('2010年01月01日','YYYY"年"MM"月"DD"日"');TO_DATE()函數(shù)可以將字符串轉換為日期類型演示示例:實現(xiàn)日期比較使用函數(shù)可以大大提高SELECT語句操作數(shù)據(jù)庫的能力Oracle中函數(shù)劃分為單行函數(shù)和多行函數(shù)單行函數(shù)作用于數(shù)據(jù)庫表的某一行并返回一個值字符函數(shù)
數(shù)字函數(shù)
日期函數(shù)
轉換函數(shù)
其他函數(shù)。多行函數(shù)基于數(shù)據(jù)庫表多行進行運算,返回一個值例如對多行記錄的某個字段進行求和、求最大值運算等常用的字符函數(shù)函
數(shù)功
能示
例結果INITCAP
(char)首字母大寫initcap
('hello')HelloLOWER
(char)轉換為小寫lower
('FUN')funUPPER
(char)轉換為大寫upper
('sun')SUNLTRIM
(char,
set)左剪裁ltrim
('xyzadams',
'xyz')adamsRTRIM
(char,
set)右剪裁rtrim
('xyzadams',
'ams')xyzadTRANSLATE
(char,
from,
to)按字符翻譯translate
('jack',
'abcd',
'1234')j13kREPLACE
(char,
search_str,replace_str)字符串替換replace
('jack
and
jue',
'j',
'bl')black
andblueINSTR
(char,
substr[,
pos])查找子串位置instr
('worldwide',
'd')5SUBSTR
(char,
pos,
len)取子字符串substr
('abcdefg',3,2)cdCONCAT
(char1,
char2)連接字符串concat
('Hello',
'world')Helloworld常用的數(shù)字函數(shù)函
數(shù)功
能示
例結果ABS(n)取絕對值abs(-15)15CEIL(n
)向上取整ceil(44.778)45SIN(n)正弦sin(1.571).999999979COS(n)余弦cos(0)1SIGN(n)取符號sign(-32)-1FLOOR(n)向下取整floor(100.2)100POWER(m,n
)m的n次冪power(4,2)16MOD(m,n)取余數(shù)mod(10,3)1ROUND(m,n)四舍五入round(100.256,2)100.26TRUNC(m,n)截斷trunC(100.256,2)100.25SQRT(n)平方根sqrt(4)2常用的日期函數(shù)函
數(shù)功
能示
例結果MONTHS_BETWEEN返回兩個日期間的月份months_between('04-11月-05','11-1月-
01')57.7741935ADD_MONTHS返回把月份數(shù)加到add_months('06-2月-03',1)06-3月-03日期上的新日期add_months('06-2月-03',-1)06-1月-03NEXT_DAY返回指定日期后的星期對應的新日期next_day('06-2月-03','星期一')10-2月-03LAST_DAY返回指定日期所在的月的最后一天last_day('06-2月-03')28-2月-03ROUND按指定格式對日期進行四舍五入round(to_date('13-2月-03'),'YEAR')round(to_date('13-2月-03'),'MONTH')round(to_date('13-2月-03'),'DAY')01-1月-0301-2月-0316-2月-03TRUNC對日期按指定方式進行截斷trunc(to_date('06-2月-03'),'YEAR')trunc(to_date('06-2月-03'),'MONTH')trunc(to_date('06-2月-03'),'DAY')01-1月-0301-2月-0302-2月-03常用的轉換函數(shù)函
數(shù)功
能示
例結果TO_CHAR轉換成字符串類型to_char(1234.5,'$9999.9')$1234.5TO_DATE轉換成日期類型to_date('1980-01-01','yyyy-mm-dd')01-1月-80TO_NUMBER轉換成數(shù)值類型to_number('1234.5')1234.5常用的其他函數(shù)函
數(shù)功
能NVL(EXP1,
EXP2)如果exp1的值為null,則返回exp2的值,否則返回exp1的值NVL2(EXP1,
EXP2,EXP3)如果exp1的值為null,則返回exp3的值,否則返回exp2的值DECODE(VALUE,IF1,THEN1,IF2,THEN2,……,ELSE)如果value的值為if1,則返回then1的值,如果value的值為if2,則返回
then2的值,……,否則返回else值常用的多行函數(shù)函
數(shù)功
能示
例SUM()求和select
sum(love)
from
pet;AVG()求平均值select
avg(health)
from
petwhere
master_id=1;COUNT()計數(shù)select
count(type_id)
frompet;MAX()求最大值select
max(adopt_time)
from
pet;MIN()求最小值select
min(adopt_time)
from
petwhere
type_id=1;需求說明:練習常用的各類Oracle函數(shù),加深理解重點練習以下函數(shù)字符函數(shù):REPLACE()、INSTR()、SUBSTR()數(shù)字函數(shù):POWER()、MOD()、ROUND()轉換函數(shù):TO_NUMBER()多行函數(shù):AVG()、COUNT()查詢master表中狀態(tài)值為1的用戶的個數(shù)查詢pet表中所有寵物健康值的平均數(shù)提示利用dual表練習字符函數(shù)、數(shù)字函數(shù)和轉換函數(shù)完成時間:15分鐘常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解當數(shù)據(jù)庫表中存在很多條記錄,如大于10萬條時,查詢速度便成為一個問題在書中查詢某內(nèi)容時,首先在目錄中查詢所需知識點,然后根據(jù)目錄中提供的頁碼找到要查詢內(nèi)容,大大縮短了查詢時間可以建立類似目錄的數(shù)據(jù)庫對象,實現(xiàn)數(shù)據(jù)快速查詢,這就是索引按照索引的存儲結構分類B樹索引
位圖索引
反向鍵索引按照索引值是否唯一分類唯一索引
非唯一索引按索引列分類單列索引組合索引基于函數(shù)的索引創(chuàng)建索引CREATE
[
UNIQUE|BITMAP]
INDEX
index_nameON
table_name(column_name1|expression1
ASC|DESC,column_name2|expression2
ASC|DESC,…)[REVERSE];在table_name表的指定列上建立索引創(chuàng)建反向鍵索引刪除索引DROP
INDEX
index_name;唯一索引|位圖索引在在創(chuàng)p在e在p建t刪表epp基te除表e的t于t表在的m函的pased數(shù)httoey表TpaprOl_te上t_i_h_dt創(chuàng)Ci、i字dmH字建le段oA字段的vR上e段(上反字a創(chuàng)d上創(chuàng)向段建o創(chuàng)建鍵p上反t建_位索創(chuàng)向ti降圖引建m鍵序索em組索,'a唯引Y合引sY一t索emYpr索Y引a_e'si引)_dht索ie_darad_引_elbotivhdtipeot_mtr_r_soecateivhpm_ea_i_nrerisni_dneidend_exdeixnxedxexCREATE
UNIQUE
INDEX
adopt_time_index
ON
pet(adopt_time
DESC);CREATE
BITMAP
INDEX
type_id_bitmap_index
ON
pet(type_id);CREATE
INDEX
health_love_index
ON
pet(health,love);CREATE
INDEX
to_char_index
ON
pet(TO_CHAR(adopt_time,'YYYY'));CREATE
INDEX
master_id_rev
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年蘇州托普信息職業(yè)技術學院馬克思主義基本原理概論期末考試題含答案解析(奪冠)
- 2025年景德鎮(zhèn)學院馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2025年浙江同濟科技職業(yè)學院單招職業(yè)傾向性測試題庫帶答案解析
- 2025年四川工商職業(yè)技術學院單招職業(yè)技能考試題庫帶答案解析
- 四川省成都市郫都區(qū)2024-2025學年高三下學期階段性檢測(三)生物試題(解析版)
- 2025年射陽縣招教考試備考題庫帶答案解析(奪冠)
- 2025年昭平縣幼兒園教師招教考試備考題庫帶答案解析(奪冠)
- 2025年南京審計大學金審學院馬克思主義基本原理概論期末考試模擬題帶答案解析(奪冠)
- 2025年武寧縣招教考試備考題庫含答案解析(奪冠)
- 赤峰2025年內(nèi)蒙古赤峰市阿魯科爾沁旗醫(yī)院招聘19人筆試歷年參考題庫附帶答案詳解
- 企業(yè)風險預警指標體系設計與應用
- 2025-2026學年江蘇省連云港市部分學校高三上學期10月月考歷史試題(解析版)
- 道路交通安全警示教育培訓
- 獸藥使用法律法規(guī)學習材料
- 記賬實操-村會計賬務處理分錄SOP
- 市政工程述職報告
- 公文寫作實例培訓
- 2026年中考語文一輪復習:統(tǒng)編教材古詩詞曲鑒賞85篇 ??急乇持R點匯編
- 海事組織航標知識培訓課件
- 網(wǎng)吧安全生產(chǎn)知識培訓課件
- 2025-2030高端汽車品牌營銷策略與消費者畫像分析報告
評論
0/150
提交評論