oracle第1章安装与基本操作tp12_第1页
oracle第1章安装与基本操作tp12_第2页
oracle第1章安装与基本操作tp12_第3页
oracle第1章安装与基本操作tp12_第4页
oracle第1章安装与基本操作tp12_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle应用第十二章数据库、数据库实例的含义及区别?写出如下操作的SQL语句创建用户“jbit”,密码为“bdqn”CREATE

USER

jbit

IDENTIFIED

BY

bdqn;为用户“jbit”授予“DBA”角色GRANT

DBA

TO

jbit;创建数据库表student(id,name,sex,birth)CREATE

TABLE

student(id

NUMBER PRIMARY

KEY,name

VARCHAR2(8),sex

CHAR(2),birth

DATE);数据库连接字符串各部分的含义是什么?TO_CHAR()和TO_DATE()函数的作用是什么?唯一索引和非唯一索引的区别是什么?有哪些导入导出Oracle中数据的方法?"

jdbc:oracle:thin:@10.0.0.41:1521:sjbitdb

"实现主人登录功能实现主人领养宠物实现主人所有宠物信息的显示掌握使用JDBC连接到Oracle掌握Oracle常用函数掌握Oracle索引掌握Oracle数据导入导出编写控制台程序,实现主人登录。数据库为Oracle使用JDBC可以为多种数据库提供统一访问。不同之处在于数据库驱动类名称字符串、数据库连接字符串等参数不同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地址:端口号:数据库实例名训练要点:自定义日期显示格式:EXTRACT()、TO_CHAR()字段的字符串显示:DECODE()给字段指定默认值:NVL()需求说明:主人登录成功后,显示主人的所有宠物信息如果宠物的name字段值为空,显示“无名”如果宠物status值为1,显示“正常”,为2则显示“禁用”自定义宠物adopt_time字段的显示格式讲解需求说明实现思路:编码显示所有宠物信息根据数据库表pet编写实体类Pet编写类PetManager,查询所有宠物信息编写类PetManagerTest,显示所有宠物信息难点指导:EXTRACT()、TO_CHAR()的使用难点指导:DECODE()、NVL()的使用完成时间:30分钟需求说明:主人通过输入宠物名字、选择宠物类型来领养宠物,然后显示领养成功或失败的提示。领养完毕后显示主人最新的领养宠物列表完成时间:20分钟常见调试问题及解决办法代码规范问题共性问题集中讲解显示主人在2010年以后领养宠物的信息SELECT

*

FROM

petWHERE

master_id=1

AND

adopt_time

>

'2010-01-01';Oracle支持日期比较,但不会把“2010-01-01”当做日期识别,而是认为是字符串采用TO_CHAR()函数采用Oracle默认日期字符串格式DD-MON-YY采用TO_DATE()函数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()函数可以将字符串转换为日期类型演示示例:实现日期比较使用函数可以大大提高SELECT语句操作数据库的能力Oracle中函数划分为单行函数和多行函数单行函数作用于数据库表的某一行并返回一个值字符函数

数字函数

日期函数

转换函数

其他函数。多行函数基于数据库表多行进行运算,返回一个值例如对多行记录的某个字段进行求和、求最大值运算等常用的字符函数函

数功

能示

例结果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常用的数字函数函

数功

能示

例结果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)取余数mod(10,3)1ROUND(m,n)四舍五入round(100.256,2)100.26TRUNC(m,n)截断trunC(100.256,2)100.25SQRT(n)平方根sqrt(4)2常用的日期函数函

数功

能示

例结果MONTHS_BETWEEN返回两个日期间的月份months_between('04-11月-05','11-1月-

01')57.7741935ADD_MONTHS返回把月份数加到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常用的转换函数函

数功

能示

例结果TO_CHAR转换成字符串类型to_char(1234.5,'$9999.9')$1234.5TO_DATE转换成日期类型to_date('1980-01-01','yyyy-mm-dd')01-1月-80TO_NUMBER转换成数值类型to_number('1234.5')1234.5常用的其他函数函

数功

能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值常用的多行函数函

数功

能示

例SUM()求和select

sum(love)

from

pet;AVG()求平均值select

avg(health)

from

petwhere

master_id=1;COUNT()计数select

count(type_id)

frompet;MAX()求最大值select

max(adopt_time)

from

pet;MIN()求最小值select

min(adopt_time)

from

petwhere

type_id=1;需求说明:练习常用的各类Oracle函数,加深理解重点练习以下函数字符函数:REPLACE()、INSTR()、SUBSTR()数字函数:POWER()、MOD()、ROUND()转换函数:TO_NUMBER()多行函数:AVG()、COUNT()查询master表中状态值为1的用户的个数查询pet表中所有宠物健康值的平均数提示利用dual表练习字符函数、数字函数和转换函数完成时间:15分钟常见调试问题及解决办法代码规范问题共性问题集中讲解当数据库表中存在很多条记录,如大于10万条时,查询速度便成为一个问题在书中查询某内容时,首先在目录中查询所需知识点,然后根据目录中提供的页码找到要查询内容,大大缩短了查询时间可以建立类似目录的数据库对象,实现数据快速查询,这就是索引按照索引的存储结构分类B树索引

位图索引

反向键索引按照索引值是否唯一分类唯一索引

非唯一索引按索引列分类单列索引组合索引基于函数的索引创建索引CREATE

[

UNIQUE|BITMAP]

INDEX

index_nameON

table_name(column_name1|expression1

ASC|DESC,column_name2|expression2

ASC|DESC,…)[REVERSE];在table_name表的指定列上建立索引创建反向键索引删除索引DROP

INDEX

index_name;唯一索引|位图索引在在创p在e在p建t删表epp基te除表e的t于t表在的m函的pased数httoey表TpaprOl_te上t_i_h_dt创Ci、i字dmH字建le段oA字段的vR上e段(上反字a创d上创向段建o创建键p上反t建_位索创向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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论