数据库-oracle
关于数据库oracle的知识整理和使用方法以及注意事项
lty-
相信希望,相信奇迹
展开
-
15-触发器
基本概念就是制定一个规则,在我们做增删改操作的时候 - 只要满足该规则,自动触发,无需要调用 - 语句级触发器:不包含for each row 的触发器 - 行级触发器:包含有for each row的就是行级触发器 - 加for each row是为了使用:old或者:new对象或者一行记录语句触发器插一条记录,输出一个新员工入职create or replace triggrt t1afterinserton persondeclarebegindbms_outpu原创 2020-08-11 16:59:42 · 107 阅读 · 0 评论 -
14-pl/sql编程语言
基本概念pl/sql编程语言是对sql语言的扩展,使得sql语句具有过程化编程的特性pl/sql编程语言比一般的过程化编程语言,更加的灵活高效pl/sql变成语言主要用来编写存储过程和存储函数等。声明方法--赋值操作可以使用:=也可以使用into查询语句赋值declare i number(2) := 10; s varchar2(10) := '小明'; ena emp.ename%type;---引用型变量 emprow emp%rowtype;---记录原创 2020-08-11 16:46:33 · 139 阅读 · 0 评论 -
13-索引
索引的概念索引就是在表的列上构建一个二叉树达到大幅度提高查询效率的目的,但是索引会影响增删改查的效率单列索引创建单列索引create index idx_ename on emp(ename);单列索引出发规则,条件必须是索引列中的原始值单行函数,模糊查询,都会影响索引的触发select * from empwhere ename="scott"复合索引创建复合索引create index idx_enmaejob on emp(ename,job);--复合原创 2020-08-11 16:02:33 · 69 阅读 · 0 评论 -
12-视图
视图的概念视图就是提供一个查询的窗口,所有的数据来自原表查询语句创建表create table emp as select * from scoot.empselect * from emp创建视图[必须有dba权限]create view v_emp as select ename,job from emp;查询视图select * from v_emp修改视图[不推荐]update v_emp set job='CLERK' where ename='ALLEN';c原创 2020-08-11 15:45:27 · 78 阅读 · 0 评论 -
11-分页查询
基本概念rownum行号:当我们做select操作的时候,每查出一行记录,就会在该行加上一个行号,行号从1开始,一次递增,不能跳着走下去注意:--排序操作会影响rownum的顺序select rownum, e.* from emp e order by e.sal desc--如果涉及排序,但还是要使用rownum的话,我们可以在此签到查询语句select rownum, t.* from(select rownum, e.* from emp e order by e.sal原创 2020-08-11 15:32:02 · 94 阅读 · 0 评论 -
10-子查询
子查询返回一个值---查询出工资和Scott一样的员工信息select * from emp where sal in (select sal from emp where ename='scott')子查询返回一个集合---查询出工资和10号部门任意员工一样的员工信息select * from emp where sal in(select sal from emp where deptno = 10);子查询返回一张表---查询出每个部门最低工资,和最低工资员工姓名,和该员工所在原创 2020-08-09 21:00:16 · 94 阅读 · 0 评论 -
09-多表查询
笛卡尔积select * from emp,dept d;等值连接select * from emp e,dept dwhere e.deptno=d.deptno内连接select * from emp e inner join dept don e.deptno=d.deptno---查询出所有部门,以及部门下的员工信息【外连接】select *from emp e right join dept don e.deptno=d.deptno;--查询出所有员工的信息,以及原创 2020-08-09 20:47:55 · 98 阅读 · 0 评论 -
08-多行函数
概念多行函数:又叫聚合函数:作用于多行,返回一个值查询总数量select count(1) from emp工资的总和select sum(sal) from emp;最大工资select max(sal) from emp;最低工资select min(sal) from emp;平均工资select avg(sal) from emp;分组查询---查询出每个部门的平均工资---分组查询中,出现在group by后面的原始列,才能出现在select后面---没有原创 2020-08-09 20:20:16 · 210 阅读 · 0 评论 -
07-条件表达式
表达式的通用写法:MySQL和oracle通用给emp表中的员工起中文名select e.ename, case e.ename when 'SMITH' then '曹贼' when 'ALLEN' then '大耳贼' when 'WARD' then '诸葛小儿' --else '无名' endfrom emp e;---判断emp表中员工工资,如果原创 2020-08-09 19:47:46 · 135 阅读 · 0 评论 -
06-单行函数
概念:作用于一行,返回一个值字符函数---变成大写select upper('yes') from dual;---变成小写select lower('YES') from dual;数值函数---四舍五入select round(56.16,-2) from dual;---直接截取select trunc(56.16,-1)from dual;---求余数select mod(10,3) from dual;日期函数查询过emp表中所有员工入职距离现在多少天se原创 2020-08-09 19:38:13 · 89 阅读 · 0 评论 -
05-scott用户
----scott用户,密码tiger。解锁Scott用户alter user scott account unlock;–解锁scott用户的密码【此句也可以用来重置密码】alter user scott identified by tiger原创 2020-08-09 13:46:38 · 80 阅读 · 0 评论 -
04-序列
创建一个序列----序列不真的属于任何一张表,但是可以逻辑和表做绑定。----序列:默认从1开始,依次递增,主要用来给主键赋值使用。----dual:虚表,只是为了补全语法,没有任何意义。create sequence s_person;select s_person.nextval from dual;----添加一条记录insert into person (pid, pname) values (s_person.nextval, '小明');commit;...原创 2020-08-09 11:54:58 · 93 阅读 · 0 评论 -
03-数据的增删改
增加数据insert into person (pid,pname) values(1,'小明')修改数据update person set pname='小马'where pid=1;三个删除--删除表中全部记录delete from person;--删除表结构drop table person;--先删除表,再次创建表。效果等同于删除表中全部记录。--在数据量大的情况下,尤其在表中带有索引的情况下,该操作效率高。--索引可以提供查询效率,但是会影响增删改效率。truncat原创 2020-08-09 11:36:29 · 78 阅读 · 0 评论 -
02-数据库类型的介绍和表的创建+修改表的结构
oracle的数据类型 1. varchar2:表示一个字符串 2. NUMBER: (1)number(n):表示一个整数,长度为n (2)number(m,n):表示一个小数,总长度为m,小数是n,整数时m-n3.data:表示日期类:4.clob:大对象,表示文本数据类型 可存4G5.blob:大对象,表示二进制数据 可存4G(我们平日看的视频一般都是以二进制进行存储的)创建一个person表---创建一个person表create table person(原创 2020-08-09 11:13:56 · 164 阅读 · 0 评论 -
01-创建表空间+创建用户
创建表空间create tablespace itheima--指定数据文件所在的位置datafile 'c:\itheima.dbf'--初始大小size 100m--自动扩展大小autoextend on--每一次扩展的大小是10mnext 10m;删除表空间的语句drop tablespace 表空间的名字创建用户--创建用户的语句create user itheima--指定用户的密码identified by itheima--指定用户是哪个表空间的defa原创 2020-08-09 10:55:05 · 851 阅读 · 0 评论