实例(instance) 数据库(database) 数据库服务器(database sever)
1. 实例是指一组Oracle后台进程以及在服务器中分配的共享的物理文件集合
2. 数据库是由基于磁盘的数据文件,控制文件,日志文件,参数文件和归档日志文件等组成的物理文件集合
3. 数据库服务器是指管理数据库的各种软件工具(sqlplus,pl/sql),实例及数据库的三个部分
注:数据库的主要功能就是存储数据,数据库存储数据的方式通常为存储结构,分为物理存储结构(主要有数据文件,控制文件,重做日志文件,口令文件,警告日志文件,参数文件和归档日志文件等)和逻辑村存储结构(表空间,段,区间和数据块等概念组成
OracleOraDb11g_homeTNSlistener:数据库监听服务文件
OracleServiceorcl:Oracle数据库服务文件
3种标准角色
1. connect role(连接角色)
2. resource role(资源角色)
3. DBArole(数据库管理角色)
Oracle的几个用户模式
1. Sys
超级用户,数据库中的所有数据字典和视图都存储在sys模式中.sys用户只能以sysoper或sysdba的角色登录系统.数据字典用来管理数据库对象的所有信息.
2. System
是Oracle中默认的系统管理员,它拥有dba权限.system用户不能以sysoper或sysdba的角色
3. Scott
是示范用户,一般在数据库安装时已创建
创建用户语法
Create user 用户名
Identified by 密码
[default tablespace 表空间名]
[temporary tablespace 表空间名]
修改用户
Alter user 用户名 identified by 新密码
删除用户
Drop user用户名[cascade]
给用户授权
Grant 角色|权限 to 用户名;
撤销权限
revoke 角色|权限 from 用户名;
用户登录语法
Connect|conn 用户名|密码
Disconnect|disconn 用户名;
第二章
PL/SQL块结构
PL/SQL程序都是以块(block)为基本单位,整个PL/SQL分为3个部分
声明[可选],执行[必须],异常[可选]
[declare]
Begin
[exception]
End
特殊数据类型
%type 与数据表中的某个列的数据类型相同
%rowtype 返回一个记录类型,与数据库表的数据结构一致
声明变量
变量名 数据类型;
声明常量
常量名 constant 数据类型 ;
可转换的类型赋值
Char→number
To_number(‘100.0’)
number→Char
To_Char (100.0)
date→Char
to_char(sysdate,’yyyy-mm-dd’)
Char→date
to_date(‘2016-6-19’,’yyyy-mm-dd’)
第三章
PL/SQL中使用DML
Selectinto赋值
Select 列名 into变量名 from表名
Insert插入数据
Insertinto表名[(列名)] values(对应值) [where条件];
Update 更新数据
Update 表名 set 列名=新值 [where条件];
Delete 删除数据
Delete [from] 表名 [where条件];
PL/SQL中事务处理
事务处理是工作的逻辑单元,一个事务由一个或者多个完成一组的一组相关行为的SQL语
句,通过事务机制确保这一组SQL所执行的操作要么完全成功的执行(执行的每一步都成功
无错误,则整个事务被提交),要么一点也不执行(有错误时回滚)。
事务包含4种重要的特性,ACID
1.原子性(ATomicity)
2.一致性(consistency)
3.隔离性(isolation)
4.持久性(durability)
操作事务(在oracle中事务是隐式自动开始的)
A. 执行commit提交事务
B. 执行rollback撤销事务
C. 执行一条数据定义语句(ex:create,drop,alter)
D. 执行一个数据控制命令(grant。revoke)
E. 正常的断开数据库连接,正常退出SQL*Plus环境
Commit [work]
Rollback[work][to savepoint name]
Savepoint name
第四章
If语句
If条件 then//执行语句
end if;
if 条件 then //语句1
Else//语句2
End if;
if 条件1 then //语句1
Elsif 条件2 then //语句2
Else//语句3
End if;
Case语句
Caseselector
When expression_1 then //语句1;
……..
When expression_N then //语句n;
End case;
搜索式case
Case
Whensearch_condition_1 then //语句1;
……..
When search_condition_N then //语句n;
End case;
第五章
简单循环(死循环)
Loop
//执行语句
Endloop;
带有exit的简单循环
Loop
//执行语句
Ifconditionthenexit; endif;
Endloop;
带有exitwhen的简单循环
Loop
//执行语句
Exitwhencondition;
Endloop;
带有continue的简单循环
Loop
//执行语句
Ifcontinue_conditionthen continue; endif;
Exitwhencondition;
Endloop;
带有continuewhen的简单循环语句
Loop
//执行语句
continue whenIcontinue_condition;
Exitwhencondition;
Endloop;
While 循环
While condition loop
//语句
Endloop;
数值型for循环
For循环计数器in [reverse] 最小值..最大值 loop
//执行语句
End loop;
第六章
Oracle空间管理
表空间管理
表空间可分为三类:永久性表空间,临时性表空间,撤销表空间
1. 永久性表空间:一般保存表,视图,过程和索引等的数据。System,sysaux,users,example表空间都是默认安装的
2. 临时性表空间:只用于保存系统中短期活动的数据
3. 撤销表空间:用来帮助退回未提交的事务数据,已提交的数据在这里是不可以恢复的,一般不需要创临时和撤销表空间。除非是把它们移动到其它磁盘
创建表空间:
Createtablespace表空间名
Datafile 物理地址
[size 大小]
[auto extend off/on]
默认表空间为system;
删除表空间:
Droptablespace表空间名;
SQL语言
1. 数据定义语言(DDL):create。Alter,truncate,drop
2. 数据操作语言(DML):insert,delete,update.selelct
3. 事务控制语言(TCL):commint,rollback,savepoint
4. 数据控制语言(DCL):grant,Revoke
1.DDL
索引
是与表关联的可选结构,是一种快速访问数据的途径。可提高数据性能。类似目录
索引分类
物理分类 | 逻辑分类 |
分区/非分区 | 单列/组合 |
B树索引(标准索引) | 唯一/非唯一 |
正向/反向键 | 基于函数 |
位图 | |
1. B树索引
2.
¥29.8
¥9.9
¥59.8