Oracle入门到精通.docx
- 文档编号:12304063
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:137
- 大小:67.18KB
Oracle入门到精通.docx
《Oracle入门到精通.docx》由会员分享,可在线阅读,更多相关《Oracle入门到精通.docx(137页珍藏版)》请在冰豆网上搜索。
Oracle入门到精通
Oracle安装使用编程精华文档
一、oralce安装
基本位置:
Oracle安装在哪一个目录(注意不同版本的区别)
%driver_name%\app\username
目标驱动器:
一般Oracle自动选择剩余空间最多的驱动器
Oracle主目录:
用于设置环境变量OracleHome,一般指向Oracle
程序文件所在的目录(db_1)
类型:
版本区别与操作系统无关
个人版
标准版
企业版
选择Oracle产品时,是与OS有关的。
win32,unix/linux、MacOS、visita
附加启动数据库
如果不选,只安装软件,没有数据库
如果选,需要设置数据库名
全局数据库名:
在网络上唯一标识数据库的名字
格式:
dbname.domain:
SID.Domain
数据库的SID:
数据库在本地计算机上的唯一标识
域名,是此数据库在网络上的后缀
:
在整个Internet是唯一的,称为全局数据库名
全局数据库名可以没有后缀(域名),一般用于内部网络
数据库口令:
不是数据库本身的口令,数据库用户的口令
sys(数据库中最高权限用户),
system(数据库中DBA用户),sysman、dbsnmp用户
此处设置的口令同时应用于以上用户
数据库配置:
1、一般用途(OLTP)
OLTP:
联机事务处理:
主要应用于Web,管理系统,电子商务等
事务在整个应用中数量很多,但是执行时间都很短
2、数据仓库(OLAP)
OLAP:
联机分析处理:
主要应用于数据分析、数据仓库和数据挖掘等
事务的数量是有限的,但是,每一个事务可能开销很大
启用自动备份:
归档或非归档模式
归档模式:
开销大,但可恢复,适用于高可靠性和高可用性环境
非归档模式:
开销小,用于普通环境,数据的恢复依赖于备份
用户的密码:
对于9i及老版本,数据库用户使用默认密码
sys:
change_on_install
system:
manager
对于10g及以上的新版本,有用户自己设置密码(password)
安装完成后的准备
因为Oracle对系统资源占用很大,一般需要把Oracle服务修改为手动
需要使用时才启动,如何启动Oracle服务
Oracle要正常使用至少启动两个服务:
1、OracleOraDb11g_home1TNSListener:
监听服务
用于处理网络中对Oracle访问的请求
2、OracleServiceHY:
数据库服务
数据库服务(Oracle实例)
在机房使用Oracle时:
修改两个文件
Oracle11g:
D:
\app\administrator\product\11.1.0\db_1\network\ADMIN
Oracle10g:
D:
\oracle\product\10.2.0\db_1\network\ADMIN
1、listener.ora
2、tnsnames.ora
修改HOST的取值:
(ADDRESS=(PROTOCOL=TCP)(HOST=YourHostName)(PORT=1521))
只能用主机名,不能用IP、localhost和127.0.0.1
修改完成后,再启动服务
可选的服务:
OracleDBConsolehy,可以使用也可以不使用
启动Oralce的web管理界面的。
管理Oracle的方法:
1、SQL*Plus(重点,以后主要的工具)
2、Web的管理界面
3、第三方工具(以后开发时常用)
启用scott帐户:
scott(密码是tiger)
是Oracle中比较小的,范例方案,经常被用于教学。
Oracle10g及以上的数据库中scott用户是被锁定的,需要开启此帐户
1、在运行中sqlplussystem/manager(数据库已经启动)
2、在提示符下,执行命令
1、alteruserscottaccountunlock;--解锁
2、alteruserscottidentifiedbytiger;--设置密码
3、grantconnect,resource,createviewtoscott;--授权
3、利用scott身份登录:
运行:
sqlplusscott/tiger
1、查询当前用户的表
selecttable_namefromuser_tables;
2、查询表的结构
desctable_name
4、在sqlplus中如何提交语句
1、在语句后加“;”提交语句到Oracle
2、如果换行行了,“;”或者“/”
Web管理:
1、httpserver开启:
http:
//127.0.0.1/isqlplus(只适合于Oracle9i)
2、OracleDBConsolehy开启:
第三方工具(以后开发时常用)
1、SQLDevepler
2、PL/SQLDevepler
3、DataStudio
Oracle卸载
1、执行卸载程序
2、删除注册表项
HLM\software\oracle
HLM\system\currentcontrolset\service
3、删除目录
driver:
\oracle(app)
C:
\programfile\oracle
二、SQL*PLUS
SQL*PLUS:
是SQL加强版,具有通用性,所有的Oracle产品中都有此工具
这个工具不需要图形界面
在SQL*PLus中可以执行以下操作
1、SQL语句
2、SQL*Plus命令
3、PL/SQL语句(T-SQL)(编程)
SQL*Plus的启动方法:
在Oracle10g及以前的老版本中有两个SQL*Plus命令:
sqlplus:
在命令行(shell、DOS提示符)中运行,也可以在图形界面
sqlplusw:
在图形界面中运行的(Windows)
在11g以后的新版本中,sqlplusw不再支持。
1、在菜单中启动——“应用程序开发”
2、在“运行”直接输入:
SQLPLUS或者sqlplusw
3、打开CMD,运行SQLPLUS或者sqlplusw
SQL*Plus的登录(重点)
提示符界面SQLPLUS:
sqlplususername/password@localservicename
sqlplus用户名/密码@本地服务名
图形界面
用户名:
Oracle用户名
口令:
密码
主机字符串:
=本地服务名,如果留空默认连接本机
本地服务名:
主机字符串==网络服务名==本地服务名
=主机名+端口号+协议+数据库名
=IP+端口号+协议+数据库名
本地服务名是用来说明客户端连接的数据库服务器的相关信息
保存的是服务器的相关信息
什么是服务器的信息?
?
?
?
哪一个服务器:
IP、服务器的主机名
哪一个端口:
端口决定了所提供的服务的类型
比如:
80代表是web应用,21代表FTP应用,1433代表SQLServer数据库
Oracle的默认端口号是1521
用什么语言?
:
协议(计算机间通信的语言就是协议)
使用什么数据库呢?
:
数据库名(SID)
在客户端创建一个本地服务名,用于方便的连接服务器
scott/tiger@hygj
交互模式:
先输入命令然后在根据提示输入信息
sqlplus
1、用户名:
scott@ora,然后输入密码
2、用户名:
scott/tiger@ora
非交互模式:
直接在命令的后面跟用户/密码@本地服务名
SQL*PLUS的退出:
quitexit都可以
直接点击“关闭”按钮不是正常的退出!
!
!
!
没有提交的事务会自动回退,所以不推荐使用
当在SQL*plus中输入错误命令,可以使用ed命令
编辑错误的语句(edit),只能编辑刚刚执行过的指令
SQL*Plus调用外部脚本
命令1:
startdriver\path\filename
命令2:
@driver\path\filename
命令@和start区别:
@可以在脚本中使用,而start不行
sqlplusscott/tiger@ora@c:
\mysql.txt
把上面命令放到一个以bat或cmd为扩展名的文件中,就可以执行了
用户的切换:
可以在不退出SQL*Plus的情况下,可以切换用户
connect=conn
如果不想退出SQL*Plus,只是想注销用户
disconnect=disc
SQL*Plus会自动为查询结果进行分页,设置行宽
默认行宽是
showlinesizepagesize
setlinesize100
setpagesize16
设置列格式
1、对字符列设置格式(列宽)
在默认情况下,列宽是根据列的定义显示的
columncol_nameformatanumber
columnenameformata20
2、对数字列设置格式(数字的表现形式)
定义数字的小数点位置、千分位位置、货币类型等
columncol_nameformatexp_format
0:
强制显示前导0,不够位数的,用0补齐
9:
不显示前导0,原来多少位就显示多少位
L:
本地货币符号
$:
代表美元
:
千分位分隔符
.:
小数点
SQL*Plus不是自动提交的
setautocommiton
设置脱机:
开始脱机:
设定将运行结果脱机到那个文件
spooldriver:
\path\filename
结束脱机:
结束脱机,并将结果保存到目标文件
spooloff
一旦结束脱机,SQL*Plus中的数据就自动存储在上面设置的文件中
showall:
显示SQL*Plus所有的设定
三、DML
SQL语言
SQL支持关系数据库的三级模式结构
1、外模式:
开发人员所面对的一层,视图和部分基本表(安全性低)
2、模式层:
描述商业需求,实体与实体间的关系,基本表,数据库设计主要完成的内容
3、内模式:
解决数据库底层的实现,表空间和数据文件
一般来讲,应用程序的开发,主要操作的外模式的对象
SQL特点:
综合统一
SQL语言风格一致,可以实现数据库生命周期中的全部活动
高度非过程化
典型的第4代语言,不能进行过程化控制
面向集合的操作
数据操作一次可以针对若干记录的集合操作
提供两种使用方法
自含式语言:
直接在SQL*PLUS或其他客户端输入即能运行
嵌入式语言:
SQL语句可以作为高级语言的一个字符串,提交给数据库
简洁易用
英语式语法,无须编程经验
SQL语言的分类:
(仅对于当前的学习,简单分类)
DML(数据操纵语言):
Inert、Update、delete(Commit、Rollback、Savepoint、select)
DDL(数据定义语言):
Create、Drop、Alter
DCL(数据控制语言):
Grant、Revoke
DML语言:
insert
1、字面值如何提供
insertintoemp(empno,ename,hiredate)
values(20,'hygj','01-1月-2009')
数字型:
直接提供数字,不需要单引号,由于
数据库支持自动的隐式数据类型转换,所以即使加上单引号也不会报错
字符串型:
需要单引号引起,如果提供的字面值包含单引号,需要处理
'Tom''sMohter'
日期型:
日期默认提供的值字符串,此字符串需要遵循Oracle默认的日期格式
如果不想遵循默认格式需要to_date转换
2、满足约束:
notnull、unique、primarykey、Check、foreignkey
3、提供的数据顺序和列顺序一致
子查询插入数据:
(Oracle=SQLServer)
insertintotab_name(col_list)selectcol_listfromtab_name
注意:
列的个数、顺序和数据类型
多表插入:
(Oracle)
Insert[all|first]insert_into_clause[value_clause]subQuery;
范例:
Insertall【first】
whendeptno=10thenintodept10
whendeptno=20thenintodept20
whenjob=‘clerk’thenintoclerk
elseintoother
select*fromemp;
dept10、dept20、clerk、other:
表名
deptno=10deptno=20job=‘clerk’匹配的条件
all和first区别
如果一行部门是10,且岗位是clerk
all:
分别向dept10、clerk插入,同一行插入两次
first:
只匹配第一次,只向第一个满足条件的表插入
update:
(MSSQL相同)
Update