JAVAOracleWord格式文档下载.docx

上传人:b****5 文档编号:19502009 上传时间:2023-01-07 格式:DOCX 页数:37 大小:980.79KB
下载 相关 举报
JAVAOracleWord格式文档下载.docx_第1页
第1页 / 共37页
JAVAOracleWord格式文档下载.docx_第2页
第2页 / 共37页
JAVAOracleWord格式文档下载.docx_第3页
第3页 / 共37页
JAVAOracleWord格式文档下载.docx_第4页
第4页 / 共37页
JAVAOracleWord格式文档下载.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

JAVAOracleWord格式文档下载.docx

《JAVAOracleWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVAOracleWord格式文档下载.docx(37页珍藏版)》请在冰豆网上搜索。

JAVAOracleWord格式文档下载.docx

管理工具-->

服务)

3.运行oracle的universalinstaller(开始-->

程序-->

oracleinstallatioinproducts-->

universalinstaller)删除所有的oracle产品

4.卸载程序执行完毕后,oracle并不能别干净的清除,这时候还需要手动的将文件清除。

5.修改注册表regedit,将HKEY_CLASS_ROOT-->

删除所有以ORACLE或者ORAL开头的注册表项

6.将HKEY_LOCAL_MACHINE\SOFTWARE下ORACLE注册表项删除

7.将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service下的以Oracle开头的注册表项

8.删除HKEY_CURRENT_USER\SOFTWARE下的oracle注册表项然后退出注册表

9.重启计算机 

10.删除c:

\ProgramFiles\Oracle目录

11.删除所有硬盘上ORACLE_BASE(一般为c:

\oracle)目录 

 

sysman:

如何查看服务名:

1.查看位置C:

\oracle\product\10.2.0\db_1\NETWORK\ADMIN

2.修改tnsnames.ora

EDU_SUSHE=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.10.210)(PORT=1521))

(CONNECT_DATA=

(SERVICE_NAME=orcl)

用户名:

hibernate密码123456

3.目录介绍

vFunction:

函数库

vProcedures:

过程

vTriggers:

触发器

vTables:

表【CRUD操作C:

CreateR:

ReadU:

UpdateD:

Delete】

vView:

视图,虚拟表【多个表之间的一个结果集】

vSequence:

序列

vUsers:

用户【测试用户:

scott密码:

tiger】

针对用户进行解锁操作:

alteruserSCOTTaccountlock;

锁定账户

alteruserSCOTTaccountunlock;

解锁账户

作业:

编写tnsnames.ora,实现连接172.16.10.210数据库服务器,访问boss表中数据,有多少行有多少列。

使用工具PLSQLDevelop。

3、开发工具

1.命令行

Cmd进入DOS界面------------>

sqlplusscott/tiger@edu访问外部数据库服务器

sqlplusscott/tiger访问本地数据库服务器

2.SQLPLUS

3.SQLDevelop

4、SQL语句介绍

SQL语句是关系数据库最基本的操作语言。

基本上不同的数据库厂商支持的SQL大部分都相似,但有些特殊的存在着不同【MySQL、Oracle分页】。

SQL:

结构化查询语言StructuredQueryLanguage

SQL语句包括数据查询语言select、数据操作语言DML(insert、update、delete)

【作用级别是在表中行数据上】,事务控制语言(commit提交、rollback回滚),数据定义语言DDL(create创建、alter修改、drop删除)

【作用级别在表、视图、用户等】,数据控制语言DCL(grant授权、revoke回收)。

DML:

DataManipulationLanguage【使用场所最多】

DDL:

Datadefinitionlanguage

DCL:

DataControlLanguage

v创建用户【默认使用scott】

createuser"

120"

;

创建用户

identifiedby"

1"

指定密码

grantconnectto"

允许用户连接至数据库

grantresourceto"

允许用户使用数据库中存储空间

grantunlimitedtablespaceto"

允许用户不受表空间的限制

用户在Oracle中又叫一个方案Schema。

也就是用户下面可以有专门的表、视图、存储过程、函数等。

修改:

alteruser"

identifiedby"

修改密码

删除:

dropuser“120”

[扩展:

]

如何访问别的用户下的表:

select*fromhibernate.bosst

但是实现跨用户访问,有时无法访问到表中数据,处理方式--->

提高访问权限:

grantselect,insertonBOSSto"

赋予查询、插入Boss表的权限给用户120

v创建表

createtablestudent--创建表

idnumber(10)notnull,--ID

namevarchar2(50),--姓名

sexnumber

(1)--性别

添加列:

altertablestudentaddagenumber(3);

删除列:

altertablestudentdropcolumnage;

列重命名:

altertablestudentrenamecolumnagetoage1;

修改列的数据类型或者长度:

altertablestudentmodifyage1number(10);

删除表:

droptablestudent;

Truncatetablestudent;

数据类型:

包括:

字符、数值、时间日期、LOB、RAW

字符数据类型:

VARCHAR2()、char()、nvarchar()

当使用长度固定的字符数据类型时,采用char,其长度为1-2000个字节。

VARCHAR2和nvarchar支持可变长度。

其长度为1-4000个字节

数值类型:

number,可以存储整数、浮点数、实数,精度可以高达38位。

其格式number(p,s)p:

表示精度s:

表示小数点位数【s可以忽略】

日期类型:

date、timestamp

LOB:

大对象数据类型,可以存储高达4GB的非结构化数据。

包括CLOB(存储大量的字符数据),BLOB(存储较大的二进制对象,例如图像、视频等)。

RAW:

存储二进制数据。

5、数据操作语言

v插入

1.insertintostudent(id,name,sex,age1)values(1000,'

姚明'

1,35)

往student表中四个字段添加数据。

2.insertintostudentvalues(1000,'

不用定义往数据库中哪个字段填充数据,student表中任何字段都会插入新值

3.insertintostudent(id)values(1001)

对固定的某一列添加新值。

4.添加大量数据

insertintostudentselect*fromstudentt

注意:

PLSQL中要求选中某一段SQL语句然后选择执行,此时执行的就是选中的SQL语句。

v更新

1.更新全部的字段数据

updatestudentsetname='

姚小明'

2.更新某一行的列的数据

姚大明'

whereid=1000;

3.更新某一行中多列数据

age1=80whereid=1000;

v删除

1.删除指定条件数据行【from可省略】

deletefromstudentwhereid=1000;

2.删除所有数据行

deletefromstudent

3.直接截断整个表数据,使用truncate

truncatetablestudent效率比delete高

6、数据查询语言

Select是用于检索数据库中表数据。

基本结构:

Select<

*,column[alias]>

from表名

其中*号表示匹配所有的列,alias给列指定别名。

v基本查询

1 检索所有的列

select*fromdept;

2 检索特定的列

selectename,job,salfromemp;

3 指定别名

SELECTEname“?

”,Job,SalFROMEmp;

SELECTEnameas?

Job,SalFROMEmp;

as?

t.job?

SalFROMEmpt;

4 检索日期列

selectt.ename,t.hiredatefromempt;

--?

F6?

selectt.ename,to_char(t.hiredate,'

yyyy/mm/dd'

)?

fromempt;

to_char(?

5 取消重复行

distinct

selectdistinctt.mgr,t.deptnofromempt;

6 使用算数表达式

算术表达式有加减乘除,其中乘除优先级要高。

如果要执行加减运算,则采用括号进行处理。

selectt.ename"

姓名"

t.job"

职位"

t.sal*12"

年薪"

t.sal+m"

月薪"

7 处理null

null?

0.?

publicclassEmp{

privateStringempNo;

privateStringename;

privateStringjob;

privateFloatsal;

将薪水字段设置为包装类类型,原因是因为如果没有对薪水字段设置值,那么添加到数据中的数据就是0.

}

Stringsql="

insertintoemp(empno,ename,sal)values('

"

+emp.getEmpNo()+"

'

'

+emp.getEname()+"

"

+emp.getSal()+"

)"

select1+null*1fromdual;

测试结果均为空

那么去处理空情况,需要使用函数

Ø

使用函数nvl函数

nvl(exp1,exp2):

表示如果exp1为null,那么值返回exp2.如果exp1不为null,那么值返回exp1.

【注意:

SQL语句中不分大小写】

selectt.Ename"

t.sal,m,

t.sal+nvl(m,0)"

使用nvl2函数

Nvl2(exp1,exp2,exp3):

如果exp1为空,那么值采用exp3.如果exp1不为空,那么采用exp2对应的值。

nvl2(t.sal+m,t.sal+m,t.sal)"

altertablesalemodifyNAMEdefault'

altertablesaleaddsexnumber

(1)default1notnull;

--添加sex列默认值为1

altertablesaleaddtimesdatedefaultsysdatenotnull;

--提供默认时间点

8 连接字符串

JAVA?

+,?

||?

select'

姓名:

||t.ename||'

他的薪水为:

||t.sal"

介绍"

concat('

A'

B'

错误情况:

1.没有足够的值情况

insertintosalevalues(2001069,2001064);

错误

2.单引号、双引号情况

3.单词写错

4.修改date类型的值,文字与字符串格式不匹配问题

updatesaletset

t.times=to_date('

2013-04-2811:

24:

51'

yyyy-MM-ddhh:

mi:

ss'

wheret.id=2001069

vWhere条件过滤

where?

and?

or?

not?

=

=或者<

>

=>

大于等于大于

<

=<

小于等于小于

Between....And

在两者之间

In(,,,,)

like

匹配字符样式,常用模糊查询

isnull

测试null

检索数字

SELECT*FROMEmptwheret.empno=7369;

?

SELECT*FROMEmptwheret.ename='

SMiTH2'

使用单引号进行标识。

SQL中不分大小写,传递进来的值分大小写。

函数:

处理大小写

selectupper('

a'

)fromdual

selectlower('

S'

1982?

SELECT*FROMEmptwheret.hiredate>

to_date('

1982-01-01'

yyyy-MM-dd'

SELECT*FROMEmptwhereto_char(t.hiredate,'

)>

'

yyyy-MM-ddhh24:

指定24小时制

指定12小时制

Where?

betweenand

Betweenand?

between?

select*fromemptwheret.salbetween3000and5000

Like?

select*fromemptwheret.enamelike'

%AM%'

模糊查询统配符有两种:

%和_

其中%号表示匹配0个或者多个字符。

_下划线表示匹配一个字符。

_AM%'

但是在处理过程中,如果有字符刚好为通配符,那么如何处理?

使用关键字escape。

%s_%'

escape'

s'

表示escape指定的字符其后面的通配符当成普通字符使用。

in?

900?

3000?

select*fromemptwheret.salin(900,3000)

select*fromemptwheret.salnotin(900,3000)

null,?

true,?

false?

select*fromemptwheremisnull

当与null进行比较时,不要使用等于或者不等于。

select*fromemptwheremisnotnull

1.查询薪金在800到1600之间的员工信息

2查询员工SMITH,ALLEN,JAMES的信息

3.查询员工编号为7369和7876的员工信息

4.查询姓名以S开头的员工信息

5.查询姓名的第二个字符为L的员工信息

6.查询姓名包含ME的员工信息

7.选择在部门30中员工的所有信息

8.列出职位为(MANAGER)的员工的编号,姓名

9.找出奖金高于工资的员工

10.找出每个员工奖金和工资的总和

andornot

true------and

如果条件有一个为true,那么返回true--------or

如果条件为false,使用not转变为true-------not

优先级not最高,其次为and,再然后为or。

示例1:

查询部门编号为20,职位为经理的个人信息。

select*fromemptwheret.deptno=20andlower(t.job)='

manager'

示例2:

查询工资高于2500,或者岗位为经理的个人信息。

select*fromemptwheret.sal>

2500orlower(t.job)='

true?

or

SQL?

SELECT*

FROMLoginusert

WHEREt.Username='

admin'

ANDt.Password='

OR'

1'

='

oracle?

orderby?

desc?

asc?

select*fromemptorderbyt.sal

select*fromemptorderbyt.saldesc

selectt.ename,nvl(t.sal+m,t.sal)薪水fromemptorderby薪水

selectt.ename,nvl(t.sal+m,t.sal)薪水fromemptorderby2

2表示薪水所在查询的列的位置。

使用多列排序。

示例:

按照工资升序,按照奖金降序排列。

select*fromemptorderbyt.salasc,mdesc;

注意优先级,先执行orderby前面的排序条件,执行完之后再去执行后面的条件排序。

1.找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)

2.找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工

3.找出有奖金的员工的不同工作

4.找出没有奖金或者奖金低于500的员工

5.显示雇员姓名,根据其服务年限,将最老的雇员排在最前面

6.查询工资高于800,或者岗位是manager的员工,并且姓名首字母为S开头的员工信息

7.查询岗位不是分析师(ANALYST)和经理(MANAGER)的所有员工

v数据分组

groupby?

groupby,?

Max:

Min:

Avg:

Sum:

Count:

selectmax(t.sal)"

min(t.sal)"

fromEmpt

selectavg(t.sal)"

selectsum(t.sal)"

selectcount(*)"

fromEmpt?

selectcount(distinctt.sal)fromempt

⏹Groupby:

SELECTt.Deptno,SUM(t.Sal)"

月值"

AVG(t.Sal)"

平均值"

MAX(t.Sal)"

最高值"

MIN(t.Sal)"

最小值"

FROMEmptGR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1