Oracle基础知识

来源:互联网 发布:游戏老板键软件 编辑:程序博客网 时间:2024/06/08 13:18

Oracle基本划水知识
1.Oracle 是一个数据库管理系统
启动监听器服务:lsnrctl start
启动数据库服务: net start oracleserviceorcl
逻辑结构:数据库 –> 表空间 –> 数据段 –> 数据区间 –> 数据段
进入数据库:sqlplus 用户名/密码
切换用户:conn 用户名/密码
系统管理员:sqlplus / as sysdba
修改密码:alter user 用户名 indentify by 密码
2.特点:
①支持多用户
②数据安全性和完整性
③支持分布式数据处理
④具有可移植性
3.SQL语言:
DDL 数据定义语言 DML 数据操纵语言 TCL 事务控制语言
DCL 数据控制语言
4.表空间:
表空间是数据库逻辑结构的一个重要组件
①目的:方便管理 可以将不同的数据文件创建到不同的磁盘中
②语法:创建 create tablespace 表空间名 datafile ” autoextend 【on/off】
删除 drop tablespace name
5.自定义用户管理
sys system scott/tiger
6.数据库管理权限
create user t146 identified by 123456;
grant connect,resource to t146;
grant all on scott.dept to t146;
grant all on scott.emp to t146;
①系统管理权限

    create  session  连接到数据库    create  table    创建表    create  view     创建视图    create  sequence 创建序列②对象权限    connect 连接数据库   resource 可以创建表 触发器 过程等  DBA 数据库管理员角色    赋予权限:grant 权限|角色 to 用户名;    撤销权限:revoke 权限|角色 from 用户名;

7.序列
创建序列:
create sequence 序列名
[start with integer 生成第一个序列号]
[increment by integer 序列号之间的间隔]
[maxvalue integer|nomaxvalue]
[minvalue integer|nominvalue]
[cycle 序列达到最大值或最小值后,将从头开始生成值|nocycle]
[cache integer 预分配一组序列号,将其保留在内存中|nocache]
访问序列:
NEXTVAL 第一次使用 返回该序列的初始值 用于增加序列值
currcal 返回序列的当前值
修改序列:
alter sequence 序列名
[increment by integer ]
[maxvalue integer|nomaxvalue]
[minvalue integer|nominvalue]
[cycle]
[cache integer ]
删除序列:
drop sequence 序列名
使用序列
select 序列名 from ..
8.同义词
相当于取别名 方便简化sql语句
分类:
私有同义词:
create synonym 同义词名 for 表名
公有同义词
create public synonym 同义词名 for 表名
删除同义词
drop [public] synonym 同义词名
私有同义词与公有同义词的区别:
私有同义词只能在当前模式下访问,且不能与当前模式的对象同名
公有同义词可以被所有的数据库用户访问
9.索引
分类:
B树索引
create [unique] index 索引名 on 表名(列名)
反向键索引
create index 索引名 on 表名(列名) reverse
位图索引
适用于每列的值很少的情况下
优点:①减少响应时间 ②占用空间明显减少 ③性能提升
create bitmap index 索引名 on 表名(列名)
删除索引:
drop index 索引名
重建索引:
alter index 索引名 rebuild 索引类型
10.分区表:
分类:范围分区 列表分区 散列分区 复合分区 间隔分区 虚拟列分区
范围分区:
create table 表名(

)
partiton by range (列)
(
partiton 分区名 values less than (maxvalue ….);
);
间隔分区:
create table 表名(

)
partiton by range (列)
interval( 分区 );
11.PL/SQL
PL/SQL是结合了Oracle过程语言和结构化查询语言的一种扩展语言
declare
变量名 数据类型 [:=值];
begin
语句段
end;
注释:
单行注释 – 多行注释/**/
数据类型:
标量数据类型 LOB数据类型 属性类型
控制语句:
if语句:
if 条件表达式 then

        end if;    case语句:        case 条件表达式              when 条件表达式结果 then                语句段            when 条件表达式结果 then                语句段            [else 语句段]          end case;    LOOP循环:        loop            要执行的语句;            exit when 条件语句        end loop;    for循环:        for 循环计数器 in [reverse] 下限..上限 loop            要执行的语句        end loop;   异常处理:    declare     变量名 数据类型 [:=值];    begin        语句段    exception        when 异常情况 then    end;

12.游标:
方便数据在存储过程的提取和数据的转移
声明游标
cursor 游标名 [(parameter,…)]
[return return_type] is 查询语句
打开游标
open 游标名[(parameter)]
提取游标
fetch 游标名 into 变量名
关闭游标
close 游标名
13.存储过程:
创建存储过程:
create [or replace] produre 存储过程名 [参数列表]
[is|as]
[局部声明]
begin
可执行语句
end;
调用存储过程:
exec 存储过程名
存储过程的访问权限:
grant execute on 存储过程名 to 用户名
revoke execute on 存储过程名 from 用户名 撤销权限

14.Oracle与Mysql的区别
①Oracle是大型数据库 mysql是小型数据库
②Oracle服务收费,mysql是开源的数据库
③Oracle支持大开发,大访问量,是OLTP最好的工具
④sOracle占用空间较大,mysql占用较小

原创粉丝点击