2023年Oracle知识点总结归纳全面汇总归纳1.pdf





《2023年Oracle知识点总结归纳全面汇总归纳1.pdf》由会员分享,可在线阅读,更多相关《2023年Oracle知识点总结归纳全面汇总归纳1.pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle 知识点总结 1、Oracle 数据库的安装和配置 Oracle Internet级数据库 SQLServer 中小企业级数据库 Access 桌面级数据库 Oracle 的安装 注意:来源和目标的目录不允许有中文或空格 Oracle 数据库启动时必需开启的后台服务 OracleOrahome90TNSListener 使第三方的软件或语言访问 OracleServiceETC Oracle的实例 CRUD 增删改查 注意:中的 ETC是你起的实例的名字 Oracle 的开发工具 DOS界面的开发平台 -运行-sqlplus Oracle 本身基于 DOS的平台-运行-sqlplu
2、sw 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 中账
3、号和数据库 one2one 绑定 2、Oracle 的密码不允许为纯数字或空 3、需要在 system 账号完成动作 修改 Oracle 的账号密码 语法:alter user 用户 identified by 新密码 用 grant 权限 to 用户 为该帐户授权 语法:grant 权限名称 to 用户;撤销权限 语法:revoke 权限名称 from 用户名;在该帐号下创建表 Oracle 中的事务处理 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入
4、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;
5、2、Oracle 的函数 function(系统预定义函数)函数和存储过程相比,在于函数必须有返回值,而存储过程只有输出参数。语法:create or replace function 函数名称 return 返回类型 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 as PL/SQL语句块 例子:输入一个员工工号,返回该员工所在部门平均工资 create or replace function fun_demo1(eno emp.empno%type)r
6、eturn 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 名字的开发工具界面的开发平台运行本身基于
7、的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 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
8、)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(字符
9、串)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_bet
10、ween(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 dd
11、d 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 cei
12、l 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;名
13、字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 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
14、 sal desc),ename,sal from emp;若排名相同下一个将跳转 SQL:select dense_rank()over(order by sal desc),ename,sal from emp;连续 语法:rank(参数 1,参数 2)within group(order by 字段 1,字段2)SQL:select ename,rank(2850,BLAKE)within group(order by sal,ename)from emp;分组函数:类似于 SQLServer 中的聚合函数 sum avg count group by 分组关键字 having 条件 3
15、、Oracle 数据库的查询 制定区间查询 Oracle 中伪列:Oracle 为每张数据表(包括用户自定义创建的数据表)都自动创建两个位列分别是:rowid、rownum 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 通过命令:SQL desc 表名;-查看表结构 rowid:由 18 个字符组成唯一标识每一行 rownum:行号 介绍 问题:使用 Oracle 分层查询以数据结构显示 emp表中的人员关系 语法:select lpad(ename,l
16、evel*5,)from emp connect by prior empno=mgr start with mgr is null;并集:查询部门 10 的办事员和部门 20 的经理 关键字:union all select*from emp where deptno=10 and job=CLERK union all select*from emp where deptno=20 and job=MANAGER;注意:union all不会消除查询结果中的重复数据,union会消除查询结果中的重复记录 交集:查询部门 10 和部门 20 都有的工作类型 关键字:intersect sel
17、ect job from emp where deptno=10 intersect select job from emp where deptno=20;差集:查询部门 30 中有,而部门 10 中没有的工作类型 关键字:minus select job from emp where deptno=30 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 minus select job from emp where deptno=10;4、Oracle
18、数据库的数据对象 Oracle 的数据库对象:用户、表、约束、序列、视图、同义词和索引 定义:但凡使用 create 开头创建的对象称之为数据库对象。锁定/解除用户 语法:alter user 用户名称 account lock;注意:该指令一般在 system 账号下输入 解除用户锁定 语法:alter user 用户名称 account unlock;SQL alter user scott account unlock;注意:Oracle 11g 中 scott账号是默认锁定的,需要进行解锁处理。用户授权/撤销 grant 权限名称 to 用户名称;撤销用户权限 revoke 权限名称
19、from 用户名;表 数据字段的类型 数字类型:number 语法:number(长度,精度)number(5,2)数字长度为 3,精度为 2 范围:-999.99 999.99 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 number(5)数字长度为 5,精度为 0 范围:-99999 99999 number 精度默认为 0 范围:-32767 32768 字符类型:varchar2 可变长度 char 字符类型 语法:varchar2(长度)日期
20、类型:date long 数据类型:该字段最大存储空间为 2GB,该字段不允许添加索引 LOB数据类型:该字段最大存储空间为 4GB,该字段不允许添加索引 CLOB:大字符类型-文章(小说,cnki)BLOB:大二进制类型-图片、音频、视频.多媒体文件 FLOB:文件定位器-内存指针 创建数据表的语法结构:create table 表名 (字段名称 1 类型 约束,字段名称 1 类型 约束,字段名称 n 类型 约束 )使用 desc 表名 查看表结构 给表添加字段 address 和 telephone 语法:alter table 表名 add(字段名称 类型);名字的开发工具界面的开发平台
21、运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 删除表字段 address 语法:alter table 表名 drop column 字段名称;修改表中已有字段的类型 语法:alter table 表名 modify(字段名称 新类型);修改表名称 语法:rename 原表名 to 新表名;约束 完整性约束=准确性+一致性 约束的四大分类:实体完整性约束(行约束)-尽量减少数据表中数据的冗余(重复的数据)技术实施:主键约束、唯一约束 语法:alter table 表名 add pr
22、imary key(字段名称);altet table 表名 add unique(字段名称);添加非空约束 语法:alter table 表名 modify(字段名称 not null);域完整性约束(列约束)-达到数据的准确性,控制数据的大小或范围或格式 技术实施:check 检查约束 alter table 表名 add constraint 约束名称 check(条件);引用完整性约束(表间约束)-达到数据的一致性 技术实施:外键约束 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性
23、原子性不可分割持久性当数据整整写入 添加外键约束 alter table 外键表 add constraint 约束名称 foreign key(外键字段)references 主键表(主键字段);删除外键约束 语法:alter table 表名 drop constraint 约束名称;删除匿名约束 语法:alter table 表名 modify(字段名称 null);自定义完整性约束-以上三种数据库内置约束不能满足开发人 员的需求是,需要开发人员自定一些约束条件 技术实施:触发器 使用 sql 脚本批量插入数据 使用命令 SQL 路径+文件名称 SQL f:/a.sql;序列 定义:Or
24、acle 中使用 sequence 来实现字段的自增长功能,和SQLServer 中的 identity属性类型 语法:create sequence 序列名称 start with 起始数字 increment by 增长量;用法:序列对象通过两个重要的属性进行访问取值 .nextval -next value-下一个值 名字的开发工具界面的开发平台运行本身基于的平台运行创建一个表的名称注意在中账号和数据库绑定的密码不允许为纯数字或空需要在账号体提交整体回滚事务的四个特性原子性不可分割持久性当数据整整写入 例子:select seq_1.nextval from dual;.currval
25、-current value-当前值 例子:select seq_1.currval from dual;如何实现其自增长功能 通过语法结构将序列对象与对应的数据表进行绑定,实现其自增长功能。例子:create table users(userid number(2),username varchar2(10);create sequence seq_users start with 1 increment by 1;insert into users values(seq_users.nextval,alvin);注意:Oracle 建议一个序列对象尽与一张数据表进行绑定 技巧:create
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 Oracle 知识点 总结 归纳 全面 汇总

限制150内