Oracle知识点总结
- 格式:doc
- 大小:70.00 KB
- 文档页数:40
Oracle知识点总结
根据阎赫老师讲义整理 Zealjiang
1、Oracle数据库的安装和配置
⑴Oracle Internet级数据库
SQLServer 中小企业级数据库
Access 桌面级数据库
⑵Oracle的安装
注意: 来源和目标的目录不允许有中文或空格
⑶Oracle数据库启动时必需开启的后台服务
①OracleOrahome90TNSListener 使第三方的软件或语言访问
②OracleServiceETC Oracle的实例 CRUD 增删改查
注意:②中的ETC是你起的实例的名字
⑷Oracle的开发工具
①DOS界面的开发平台 -> 运行->sqlplus
②Oracle本身基于DOS的平台 ->运行-> sqlplusw
③Oracle Enterprise Manager Console
④PL/SQL Developer7.1.5
⑸创建一个表的完整流程
①创建一个数数库
例子:创建一个数据库 ETC , 物理文件放在F:\ ,初始化1m ,自增长开启
create tablespace etc datafile 'f:\etc.dbf'
size 1m
autoextend on;
删除表空间
drop tablespace 数据库名称;
②为该数据库创建一个帐号和密码
语法: create user 用户名称
identified by 密码
default tablespace 数据库名称
注意:1、在Oracle中账号和数据库one2one绑定
2、Oracle的密码不允许为纯数字或空
3、需要在system账号完成动作
修改Oracle的账号密码
语法:alter user 用户
identified by 新密码
③用grant 权限 to 用户 为该帐户授权
语法: grant 权限名称 to 用户;
撤销权限
语法:revoke 权限名称 from 用户名;
④在该帐号下创建表 ⑹Oracle中的事务处理
Transacation 事务
特点:整体提交(commit) 整体回滚(rollback)
事务的四个特性
①原子性 不可分割
②持久性 -> 当数据整整写入到数据库物理文件中后,该数据被 持久化
③隔离性 -> 事务之间相互独立互不干扰
④一致性 -> 数据安全
⑺Oracle中的保留点(还原点)
关键字:savepoint
使用方法:savepoint 名称;
如进行保留点回滚
rollback to mark2
⑻Oracle备份数据表数据
①create table 备份表名称 as 查询语句;
②Oracle备份表结构
create table emp_bak as select * from emp where 1=2;
2、Oracle的函数
⑴function (系统预定义函数)
函数和存储过程相比,在于函数必须有返回值,而存储过程只有输出参数。
语法:create or replace function 函数名称 return 返回类型
as
PL/SQL语句块
例子:输入一个员工工号,返回该员工所在部门平均工资
create or replace function fun_demo1(eno emp.empno%type)
return emp.sal%type
as
avgsal emp.sal%type;
begin
select avg(sal) into avgsal from emp where empno=eno;
return avgsal;
end;
调用:select fun_demo1(7788) from dual;
public int add(int num1,int num2){
int res = 0;
res = num1+num2;
return res;
}
⑵单行函数(单值函数) :函数有且只有返回1个值
|-字符函数 substr instr ①字符串连接函数:concat
concat(字符串1,字符串2)
Oracle中字符连接操作符号 " || "
②字符串对齐函数:lpad -> left padding 左填充 /rpad
语法:lpad(字符串,预留位置,填充字符)
SQL: select lpad(ename,10,' ') from emp;
③字符串截取函数:substr -> substring
语法:substr(字符串,截取的起始位置,截取个数)
substr(字符串,截取的起始位置)
SQL:> select substr(ename,1,3) frome emp;
④字符查找函数:instr -> inner string
语法:instr(字符串,待找的字符,查找的起始位置,出现 次数)
SQL:> select ename,instr(ename,'T',1,1) from emp;
注意:当返回值为0时,字符不存在
⑤函数:initcap -> initial captor
语法:initcap(字符串)
SQL:> select initcap(ename) from emp;
⑥函数:length
语法:length(字符串)
SQL:> select * from emp where length(ename)=5;
⑦函数:lower / upper
语法:lower(字符串) SQL:> select lower(ename) from emp;
|-日期函数 sysdate add_months
①函数:sysdate
SQL:> select sysdate from dual; dual-无实际意 义,函数测试或其他测试使用
②月份差:months_between
语法:months_between(日期1,日期2)
SQL: > select * from emp where
months_between(sysdate,hiredate)>=144
③函数:last_day
语法:last_day(日期数据)
SQL:> select * from emp where
last_day(hiredate)-2=hiredate;
④函数:add_months
语法:add_months(时间,添加月份)
SQL:>select add_months(sysdate,3) from dual;
|-转换函数 to_char to_date
①转换函数 to_char
语法:to_char(时间数据,制定格式)
SQL:> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss d
ddd day') from dual; yyyy-mm-dd 年月日
hh24:mi:ss 时分秒(24)
d 一周第几天
ddd 一年的第几天
day 星期几
②to_date: 将文本类型数据按照制定格式转换成时间类型数据
语法:to_date('具体的时间字符数据','时间字符串格式')
to_date('2010-01-19','yyyy-mm-dd')
注意:Oracle中的date字段类型及其特殊
|-数学函数 abs ceil floor
abs(n) 绝对值
ceil(n) 向上取值 ceilling天花板 ceil(1.1) -> 2
floor(n) 向下取值 floor地板 floor(2.9) -> 2
mod(m,n) 求模取余 mod(5,2) -> 1
power(m,n) m的n次方 power(2,8) ->256
round(m,n) 四舍五入 m待处理数据 n精度 round(3.1415,2) ->
3.14
trunc(m) 整数截取 trunc(3.1415) = 3
sign(m) 符号
sqrt(m) 平方根
|-混合函数 user nvl
①user : 返回当前登录账号 SQL> select user from dual;
②nvl : 替空函数
语法:nvl(字符串,替换后的数据)
注意:替换后的数据必须与该字段类型保持一致
SQL> select ename,nvl(comm,0) from emp;
⑶分析函数:数据分析和挖掘功能 Data Mining rank dense_rank
作用:主要用于排名使用
函数:rank
①语法:rank() over (order by 字段名称)
SQL:> select rank() over(order by sal desc),ename,sal from emp;
若排名相同下一个将跳转