oracle第1章安裝與基本操作tp12_第1頁
oracle第1章安裝與基本操作tp12_第2頁
oracle第1章安裝與基本操作tp12_第3頁
oracle第1章安裝與基本操作tp12_第4頁
oracle第1章安裝與基本操作tp12_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論