Oracle10上课笔记.docx

上传人:b****8 文档编号:9578611 上传时间:2023-02-05 格式:DOCX 页数:74 大小:1.50MB
下载 相关 举报
Oracle10上课笔记.docx_第1页
第1页 / 共74页
Oracle10上课笔记.docx_第2页
第2页 / 共74页
Oracle10上课笔记.docx_第3页
第3页 / 共74页
Oracle10上课笔记.docx_第4页
第4页 / 共74页
Oracle10上课笔记.docx_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

Oracle10上课笔记.docx

《Oracle10上课笔记.docx》由会员分享,可在线阅读,更多相关《Oracle10上课笔记.docx(74页珍藏版)》请在冰豆网上搜索。

Oracle10上课笔记.docx

Oracle10上课笔记

常见数据库

MSSQLServer,MySQL,Access,Oracle,SyBase,VF,DB2……

1、负载能力

a)数据库的容量

b)并发数(支持的同时连接的数量)

2、安全性

小型数据库

中型数据库

大型数据库(功能强大,性能卓越)

Access

VF

SQLite

……

MSSQLServer

MySQL

……

Oracle

DB2

SyBase

……

追求卓越

Oracle公司简介

Oracle是世界领先的信息管理软件开发商,因其复杂的关系型数据库产品而闻名。

全球最具实力的管理信息系统解决方案供应商

●8000以上合作伙伴

●200000以上客户

●美国Fortune杂志前500家大公司96%都用Oracle解决方案

●全面基于Internet

●专注于行业应用

创始人:

LarryEllison。

(EdOtaes,BruceSoctt,BobMiner,LarryEllison)

Oracle发展(离不开IBM)

●1970年的6月,IBM公司的研究员埃德加·考特(EdgarFrankCodd)在CommunicationsofACM上发表了那篇著名的《大型共享数据库数据的关系模型》(ARelationalModelofDataforLargeSharedDataBanks)的论文。

这是数据库发展史上的一个转折。

要知道,当时还是层次模型和网状模型的数据库产品在市场上占主要位置。

从这篇论文开始,关系型数据库软件革命的序幕被拉开了。

●1977年6月,LarryEllison与BobMiner和EdOates在硅谷共同创办了一家名为软件开发实验室(SoftwareDevelopmentLaboratories,SDL)的计算机公司(Oracle公司的前身),SDL开始策划构建可商用的关系型数据库管理系统(RDBMS)。

 

Oracle本意:

神喻,神说的话。

在中国翻译成甲骨文。

商朝,把一些刻在龟壳上的文字当成是上天的指示——甲骨文。

Oracle的安装

现在Oracle最新的版本是11G,我们这里学习10G,Oracle中的主要版本分为以下几个:

●Oracle8

●Oracle8i:

i,Internet,表示此时Oracle正式开始进军Internet

●Oracle9i:

Oracle9i与8i相比非常相似

●Oracle10g:

g,网格技术

安装文件:

Oracle_10G_R2_10203_vista_w2k8_x86_production_db.zip

解压压缩包

安装详细过程

1、运行安装入口文件autorun\autorun.exe

设置口令:

将所有的用户口令统一设置成:

oracleadmin

2、Oracle安装程序检查安装环境

详细信息:

正在检查操作系统要求...

要求的结果:

5.0,5.1,5.2,6.0之一

实际结果:

6.1

检查完成。

此次检查的总体结果为:

失败<<<<

问题:

OracleDatabase10g未在当前操作系统中经过认证。

建议案:

确保在正确的平台上安装软件。

正在检查ServicePack要求...

检查完成。

此次检查的总体结果为:

未执行<<<<

OUI-18001:

不支持操作系统'WindowsVista版本6.1'。

建议案:

请安装建议的ServicePack。

=======================================================================

正在检查物理内存要求...

要求的结果:

256MB

实际结果:

4095MB

检查完成。

此次检查的总体结果为:

通过

=======================================================================

正在检查网络配置要求...

检查完成。

此次检查的总体结果为:

失败<<<<

问题:

安装检测到系统的主IP地址是DHCP分配的地址。

建议案:

Oracle支持在具有DHCP分配的IP地址的系统上进行安装。

但在安装之前,必须将MicrosoftLoopBackAdapter配置为系统的主网络适配器。

有关在配置有DHCP的系统上安装软件的详细信息,请参阅InstallationGuide。

=======================================================================

正在检查PATH环境变量的长度...

检查完成。

此次检查的总体结果为:

通过

=======================================================================

正在验证ORACLE_BASE的位置(如果已设置)...

检查完成。

此次检查的总体结果为:

通过

=======================================================================

正在检查Oracle主目录路径中的空格...

检查完成。

此次检查的总体结果为:

通过

=======================================================================

正在检查Oracle主目录路径的位置...

检查完成。

此次检查的总体结果为:

通过

=======================================================================

正在检查是否进行了正确的系统清除...

检查完成。

此次检查的总体结果为:

通过

=======================================================================

正在检查Oracle主目录的不兼容性...

实际结果:

NEW_HOME

检查完成。

此次检查的总体结果为:

通过

=======================================================================

处理以上错误的方案:

1)更改两个配置文件

Disk1\stage\prereq\db\下的refhost.xml

Disk1\stage\prereq\db_prereqs\db下的refhost.xml文件

在以上两个文件里面添加如下内容:

添加如下内容即可

--MicrosoftWindowsWindows7-->

添加位置:

2)更改安装文件的配置文件(检查硬件环境的配置文件)、

Disk1\install下的oraparam.ini文件,添加如下内容:

[Windows-6.1-required]

#MinimumdisplaycoloursforOUItorun

MIN_DISPLAY_COLORS=256

#MinimumCPUspeedrequiredforOUI

#CPU=300

[Windows-6.1-optional]

添加位置:

完成以上修改过后,咱们可以让安装程序重新检查环境

(重新启动以下安装程序,再看一下有没有什么问题)

3、Oracle安装程序检查系统环境通过过后,继续安装(下一步)

4、安装程序提示要安装的相关信息

5、安装过程

6、安装完毕后,记住,别着急去点“确定”,因为还有一些设置需要去做,如果跳过了,后面再来操作的话很麻烦(在命令行用命令来解决)。

在这里我们需要对我们的几个常用的用户进行解锁。

“口令管理”

口令管理,主要观察以下几个用户:

●普通用户:

scott,密码:

tiger

●普通管理员:

system,密码:

manager

●超级管理员:

sys,密码:

change_on_install

设置完成过后就可以“确定了”

7、安装结束

需要把以下信息记住:

EnterpriseManagerDatabaseControlURL-(orcl):

http:

//VWELL-T420:

1158/em

数据库配置文件已经安装到d:

\oracle\product\10.2.0,同时其他选定的安装组件也已经安装到d:

\oracle\product\10.2.0\db_1。

iSQL*PlusURL为:

http:

//VWELL-T420:

5560/isqlplus

iSQL*PlusDBAURL为:

http:

//VWELL-T420:

5560/isqlplus/dba

最后退出安装程序。

设置完成过后,我们就可以使用固定的用户名和密码进行数据库连接了。

完成之后,直接选择退出即可,此时,会启动一个EM(企业管理器)的工具。

但是在学习中基本上不使用这种前台,直接关闭即可。

Oracle10G安装过后的系统服务

Oracle安装完成之后实际上会在系统中进行系统服务的注册,在注册服务中有两个服务必须启动,否则Oracle无法正常使用。

1、OracleOraDb10g_home1TNSListener:

表示监听服务,如果客户端要想连接到数据库,此服务必须打开,在日后的程序开发中此服务起作用。

2、OracleService数据库实例名:

表示数据库的主服务,此服务必须启动,否则Oracle根本无法使用。

使用自带的数据库管理工具

DatabaseConfigurationAssistant

SQLPlus&SQLPlusW

SQLPlus是Oracle提供的一个命令行执行的工具软件,安装之后会自动在系统中进行注册。

SQLPlus中两种命令:

●SQLPlus:

以命令行的方式进入数据库连接

●SQLPlusW:

以窗口的形式启动命令行工具

在使用此命令的时候会提示一个主机字符串,如果一台电脑上有多个数据库的话,则要在此处输入数据库的名称。

命令:

setlinesize长度;

setpagesize行数;

使用SQL编辑器

ed文件名称

@文件名称;(默认:

*.sql)

 

SQLPlusW中也可以使用其他用户连接,例如:

使用sys或system用户

conn用户名/密码[assysdba|sysoper]

●如果现在连接的是超级管理员(sys),则在连接的后面加上assysdba,以系统管理员的身份登陆。

connsys/change_on_installassysdba;

那么这个时候再次发出之前的查询命令,会提示表或视图不存在。

用户名.表名

showuser;显示的当前正在连接的用户是哪一个

select*fromtab;

desc表名;

解锁用户

sqlplussys/change_on_installassysdba;

alteruserscottaccountunlock;

更改密码

alteruserscottidentifiedbypassword;

更改自己的密码:

password

简单查询-基本SQLSELECT语句

SELECT*|{[DISTINCT]conlumn|expression[alias],…}

FROMtable;

SELECT标识选择哪些列

FROM标识从哪个表中选择

选择全部列

SELECT*

FROMdept;

选择特定的列

SELECTdeptno,dname

FROMdept;

说明:

●SQL语言大小写不敏感

●SQL可以写在一行或者多行

●关键字不能被缩写也不能分行

●各子句一般要分行写

●使用缩进提高语句可读性

数学表达式

数字和日期使用的数学表达式

●+加

●-减

●*乘

●/除

使用数学运算符

SELECTename,sal,sal+300

FROMemp;

操作符优先级

●乘除的优先级高于加减

●同一优先级运算符从左到右顺序执行

●括号内运算先执行

SELECTename,sal,12*sal+100

FROMemp;

SELECTename,sal,12*(sal+100)

FROMemp;

定义空值(NULL)

●空值是无效的、未指定的、未知的或不可预知的值

●空值不是空格或者0

SELECTename,job,sal,comm

FROMemp;

空值在数学运算中的使用

包含空值的数学表达式的值都为空值

SELECTename,12*sal*comm

FROMemp;

列的别名

●重命名一个列

●作用:

便于计算

●语法:

紧跟列名,也可以在列名与别名之间加入关键字“AS”,还可以给别名加上引号,以便别名中包含空格或特殊字符并区分大小写

SELECTenameASname,commAScommsission

FROMemp;

SELECTename“Name”,sal*12“AnnualSalary”

FROMemp;

连接符

●把列与列,列与字符连接在一起

●用”||”表示

●可以用来“合成列”

SELECTename||jobAS“Employees”

FROMemp;

字符串

●字符串可以是SELECT列表中的一个字符、数字、日期

●日期和字符只能在单引号中出现

●每当返回一行时,字符串被输出一次

SELECTename||‘isa’||job

AS“EmployeeDetails”

FROMemp;

重复行

默认情况下,查询会返回全部行,包括重复行

SELECTdeptno

FROMemp;

删除重复行

在SELECT字句中使用“DISTINCT”关键词删除重复行

SELECTDISTINCTdeptno

FROMemp;

显示表结构

使用DESCRIBE命令,显示表结构

DESC[RIBE]tablename;

DESCRIBEemp;

条件查询-过滤和排序数据

●在查询中过滤行

●在查询中对行进行排序

过滤

使用WHERE子句,将不满足条件的行过滤掉

SELECT*|{DISTINCTcolumn|ecpression[alias],…}

FROMtable

[WHEREcondition(s)];

WHERE子句紧随FROM子句

SELECTename,job,deptno

FROMemp

WHEREdeptno=30;

字符和日期的过滤

●字符和日期要包含在单引号中

●字符大小写敏感,日期格式敏感

●默认的日期格式是DD-MON-RR

SELECTename,job,deptno

FROMemp

WHEREename=‘SCOTT’;

比较运算

●=

●>

●>=

●<

●<=

●<>(!

=)

SELECTename,sal

FROMemp

WHEREsal<=3000;

其他比较运算

●BETWEEN..AND…在两个值之间(闭区间)

●IN(set)匹配列出的值

●LIKE匹配一个字符模式

●ISNULL是空值

BETWEEN…AND…

SELECTename,sal

FROMemp

WHEREsalBETWEEN2500AND3500;

IN

SELECTempno,ename,sal,mgr

FROMemp

WHEREmgrIN(7902,7698,7839);

LIKE

●使用LIKE运算选择类似的值

●选择条件可以包含字符或数字

⏹%代表零个或多个字符

⏹_代表一个字符

SELECTename

FROMemp

WHEREenameLIKE‘S%’;

●“%”和“_”可以同时使用

SELECTename

FROMemp

WHEREenameLIKE‘_O%’;

●可以使用ESCAPE标识符选择“%”和“_”符号

SELECTname

FROMtb_user

WHEREnamelike‘\%%’escape‘\’;

NULL

使用NULL判断空值

SELECTename,mgr

FROMemp

WHEREmgrISNULL;

逻辑运算

●AND

●OR

●NOT

AND

AND要求和的关系为真

SELECTename,job,sal

FROMemp

WHEREsal>=1000

ANDjoblike‘%MAN%’;

OR

OR要求或的关系为真

SELECTempno,ename,job,sal

FROMemp

WHEREsal>=1000

ORjoblike‘%MAN%’;

NOT

SELECTename,job

FROMemp

WHEREjobNOTIN(‘CLERK’,’ANALYST’);

 

运算符的优先级

●算术运算符

●连接符

●比较表达式

●IS[NOT]NULL,LIKE,[NOT]IN;

●NOT逻辑表达式

●AND逻辑表达式

●OR逻辑表达式

 

AND优先级大于OR

SELECTename,job,sal

FROMemp

WHEREjob=‘CLERK’

ORjob=‘SALESMAN’

ANDsal>2000;

使用括号来控制执行顺序

SELECTename,job,sal

FROMemp

WHERE(job=‘CLERK’

ORjob=‘SALESMAN’)

ANDsal>2000;

ORDERBY子句

●使用ORDERBY子句排序

⏹ASC:

升序(默认方式)

⏹DESC:

降序

●ORDERBY子句在SELECT语句结尾

SELECTename,job,deptno,hiredate

FROMemp

ORDERBYhiredate;

降序排列

SELECTename,job,deptno,hiredate

FROMemp

ORDERBYhiredate;

按照别名排序

SELECTempno,ename,sal*12annsal

FROMemp

ORDERBYannsal;

多个列排序

●按照ORDERBY列表的顺序排列

●可以使用不在SELECT列表中的列排序

SELECTename,deptnoi,sal

FROMemp

ORDERBYdeptno,salDESC;

小结

SELECT*|{DISTINCTcolumn|expression[alias],…}

FROMtable

[WHEREcondition(s)

ORDERBY{column,expr,alias}[ASC|DESC]];

单行函数

数据库系统中,每个数据库之间唯一不同的最大区别点就在于函数的支持上,使用函数可以完成一系列的操作功能。

单行函数语法:

function_name(column|expression,[arg1,args2,…]);

●function_name:

函数名称

●column:

表列名

●expression:

字符串、数字常量或表达式

●arg1,arg2:

在函数中使用参数

单行函数的分类

●字符函数:

接收字符并且返回字符或数值

●数值函数:

接收数值输入并返回数值

●日期函数:

对日期型数据进行操作

●转换函数:

从一种数据类型转换为另一种数据类型

●通用函数:

NVL函数、DECODE函数…(CASE)

●字符函数

⏹大小写控制函数

改变字符大小写

Function

Result

LOWER(‘SQLCourse’)

sqlcourse

UPPER(‘SQLCourse’)

SQLCOURSE

INITCAP(‘SQLCourse’)

SqlCourse

SELECTempno,ename,deptno

FROMemp

WHEREename=‘james’;

SELECTempno,ename,deptno

FROMemp

WHERELOWER(ename)=‘james’;

⏹其他字符控制函数

Function

Result

CONCAT(‘Hello’,‘World’)

HelloWorld

SUBSTR(‘HelloWord’,1,5)

Hello

LENGTH(‘HelloWord’)

10

INSTR(‘HelloWorld’,‘W’)

6

LPAD(sal,10,‘*’)

*****24000

RPAD(sal,10,‘*’)

24000******

TRIM(‘H’FROM‘HelloWorld’)

elloWorld

REPLACE(‘HelloWorld’,‘l’,‘x’)

HexxoWorxd

●数值函数

⏹四舍五入:

ROUND

⏹截断小数位:

TRUNC

⏹取模:

MOD

Dual是一个“伪表”,可以用来测试函数和表达式。

SELECTROUND(1289.546),ROUND(1289,546,2),ROUND(1289,546,-2)

FROMdual;

SELECTTRUNC(1289.546),TRUNC(1289.546,2),TRUNC(1289.546,-2)

FROMdual;

SELECTMOD(10,3)

FROMdual;

●日期函数

在Oracle中提供了许多与日期操作相关的函数,包括加减日期等等。

在日期进行一些加或减的时候有一些规律:

⏹日期+数字=日期

⏹日期–数字=日期

⏹日期–日期=数字(天数)

⏹可以用数字/24,向日期中加上或减去小时

返回系统当前日期:

SYSDATE

SELECTempno,ename,ROUND((SYSDATE-hiredate)/7)ASwee

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

当前位置:首页 > 经管营销 > 销售营销

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

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