0
点赞
收藏
分享

微信扫一扫

oracle 10G

young_d807 2023-05-17 阅读 72


 

 

oracle 10G安装:

数据库口令 不可以全部都是数字 ,否则无法顺利开启Enterprise Manager 管理工具

 

管理工具 :

SQL plus 

isql plus   http:;//localhost:5560/isqlplus

Enterprise Manager  http:;//localhost:5500/em

启动数据库 :

startup opem misbb

若权限不是  conn sys as sysdba 再 startup opem misbb

关闭 :

shutdown

登录数据库 :

conn system@misdb

conn system@testdb

表空间操作 :

create tablespace ...

create tablespace ...

 

注意:mysql 不支持分布式应用,但 Oracle 支持

 

 

 

 

 

 

安装 后 全部服务最好 设为 手动,加快开机速度

OracleService----   此服务必须启动

Oracle10G----Listener   此服务必须启动

 

安装过程

勾选  创建事样本方案的数据库

 

所有帐户都使用同一口令 123

 

 

 

 

sqlplus中有两种命令:

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

  以窗口方式启动命令行工具  sqlplusw (如果有多个数据库,要指定,否则 默认)

 

set linesize 40

set pagesize 30

 

 

 

 

 sqlplus /nolog
connn / as sysdba  --用SYS用户登陆   //兼容老版本的用法,新版本:sqlplus sys/oracle as  sysdba
alter user scott identified by tiger;

alter user scott account unlock;对SCOTT解锁

 

 

让test用户的密码失效

alter user test password expire   (此用户以后会被要求输入旧的口令及新的口令)

 

锁住test用户

alter user test account lock

 

 

 

将创建session的权限 给 test 用户

grant create session to test

把多个权限一次性 给 一个用户

oracle提供了两个主要角色,connect , resource

grane connect,resource to test

 

sqlplusw中
ed 文件
@文件路径
若是.sql,后缀可以省略

conn sys/123 as sysdba
exit

show user

select * from tab

desc 表

/ 表示继续上一次命令

 

 

 

 

 

 

 

 

事务 处理: 保证数据操作的完整性

 

在oracle中对于每一个连接到数据库的窗口(sqlplus等)连接后,实际上都以和数据库的连接建立一个session

 

即每一个连接到数据库的用户都建立一个session

 

 

提交事务 commit

回滚事务 rollback

 

drop table .. 用rollback不能回复 

delete from .. 可以用rollback来回复的

 

在oracle中关于事务的处理上也会存在一个“死锁”的概念

一个session如果更新了一条记录,其他session无法立刻更新此条记录,

 

如果事务被提交了,则肯定无法回滚

 

 

ROWNUM 伪列

 

 

 

 

 

 

 

 

 

 

数据库备份

exp

 

数据库还原

imp

 

 

 

 

 

 

这一类的表是是10g 的新特性。

  Drop Table 后,没有真正的删除表,而是在“垃圾站”中了。可以通过下面看到。

  SQL> SHOW RECYCLEBIN

  如果要彻底删除,可以使用:

  SQL> PURGE TABLE "BINjR8PK5HhrrgMK8KmgQ9nw==";

  删除这一个或删除全部。

  SQL> PURGE RECYCLEBIN;

 

 

 

 三种登陆验证机制:

操作系统验证

密码文件验证

数据库验证

 

linux下oracle启动过程: 监听服务(lsnrctl start 通过命令,不用用户密码),实例实例(sqlplus sys/oracle as  sysdba,再startup实例 )

 

windows下oracle启动过程: lsnrctl start      oradim -startup -sid orcl(把好几步骤封装了,傻瓜化了)

 

 

conn / as sysdba     默认首先采用的认证方式是操作系统认证

 

 

 

 

 

 

 

desc    兼容性好,  显示其数据表的结构,,

myslq oracles都 行

 

 

 

 

 

 

 

 

 

 

 

 

 

oracle 没有 as

 

select * from dual

 

oracle中以字符串表示的数据是不能自动转换成日期时间整理的,必须使用TO_DATE()函数

如:TO_DATE('2002-08-02 YYYY-MM-DD HH 24:MI:SS')

 

 

 

 

 

 

mysql里使用DATE_ADD()函数

直接使用加号+ 进行日期的加法运算

date+3 表示 日期的基础 上加3天

 

ADD_MONTH(date,number)

 

 

 

 

 

计算日期差额:

mysql:  DATEDIFF(date1, date2)

oracle: 直接用-号

 

计算一个日期是星期几:

mysql: DATENAME(ff)

 

oracle:   TO_CHAR函数 用于将数据 转换为 字符串 类型, TO_CHAR(date, format)

 

取出日期的指定部分:

DATE_FORMAT(date, format)

 

 

 

尽量使用显式转换,避免使用隐式转换,提高效率

 

mysql: cast()   convert()

oracle:针对性更强 TO_CHAR  TO_DATE  TO_NUMBER

DB2: INT() DOUBLE() CHAR()

 

 

 

 

 

 

空值处理:

 

COALESCE()函数的简化版

mysql:IFNULL( , )

oracle:NVL( , )

 

 

 

填充函数

 

 

 

 

 

 

 

表连接 :

 

数据库系统会对 表连接 进行 查询优化。 使用表连接 会使检索更快速

 

在SQL中使用JOIN关键字 来实现 表连接。表连接有多种类型, 被主流数据库系统支持的有交叉连接 (CROSS JOIN)、内连接 (INNER JOIN)、外连接 (OUTTER JOIN),另外还有的数据库 支持 联合 连接 (UNION JOIN)

 

 

 

INNER JOIN是默认的 连接方式,一般可以省略   ...ON

 

 

不等值连接

 

交叉连接(没有ON), 普普通的方式 就是from 后 连接两个表名,显示定义是 使用CROSS JOIN,与INNER JOIN一样

CROSS JOIN的声明的交叉连接方式只能 被mysql sql server oracle所支持,在DB2中不被支持的,所以最好用隐式的,from 后 连接两个表名

 

 

 

自连接

from aa a1

inner join aa a2

where a1.name  = a2.name  and a1.id <> a2.id

 

 

左外连接 (还返回左表不符合条件的数据)

右外连接

全外连接

 

 

 

子查询

 

单值子查询:select a1,a2,(select f from ..) from

列值子查询:select a1,a2 from t1 ,(select .. from ..)  t2

 

>any()

=some()

<all()

 

 

where exists

与上面的any等运算符不同,是单目运算符,它不与列匹配,用来检查第一行是否 匹配 子查询,可以认为exists就是用来测试 子查询 的结果是否为空的。

 

 

 

 

子查询在

insert语句中的应用

update语句中的应用(mysql不支持)

delete语句中的应用

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

举报

相关推荐

0 条评论