数据库-----Oracle
Oracle
PX-C
以学好IT技术为目的。
展开
-
Mac中使用docker安装oracle
mac中的oracle不在更新,一般使用docker来安装oracle安装拉取oracle 11g 镜像docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g安装oracle容器docker run -dp 9090:8080 -p 1521:1521 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g进入容器docker exec -it 容器id /bin.原创 2020-08-26 22:43:43 · 228 阅读 · 0 评论 -
Oracle中的索引
文章目录1.索引的说明2.索引的目的3.索引结构3.1B树索引结构3.2 位图索引结构4.建立索引的方式5.索引碎片问题1.索引的说明索引是与表相关的一个可选结构,在逻辑上和物理上都独立于表的数据,索引能优化查询,不能优化DML操作,Oracle自动维护索引,频繁的DML操作反而会引起大量的索引维护。如果SQL语句仅访问被索引的列,那么数据库只需从索引中读取数据,而不用读取表。如果该语句同时还要访问除索引列之外的列,那么,数据库会使用rowid来查找表中的行。通常,为检索表数据,数据库以交替方式先原创 2020-08-06 10:35:21 · 661 阅读 · 0 评论 -
Oracle中的序列
模拟自增本质就是内存中的数组文章目录1.什么是序列2.使用序列3.修改序列4.查询序列5.序列作为主键使用的原理、优缺点1.什么是序列序列(sequence)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。2.使用序列创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下:CREATE SEQUENCE 序列名[I.原创 2020-08-06 10:18:42 · 583 阅读 · 0 评论 -
Oracle中的事务
文章目录1.什么是事务2.四大特性3.事务的生命周期4.事务的隔离级别1.什么是事务事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作。这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行。事务是一个不可分割的工作逻辑单元。例如:银行转账过程就是一个事务。它需要两条update语句来完成,这两条语句是一个整体,如果其中一条出现错误,则整个转账业务也应取消,两个账户中的余额应恢复到原来的数据。概念:作为单个逻辑工作单元执行的一系列操作四大特性:ACID2.四大特性A原创 2020-08-05 14:06:57 · 1632 阅读 · 0 评论 -
Oracle中的视图
文章目录1.视图的定义2.视图的好处3.定义视图4.操作视图4.1 with check option4.2 with read only4.3 在增删改view的时候,需要遵守的条件5. 简单视图与复杂视图1.视图的定义视图 : 属于数据库对象之一表、视图、序列、索引、同义词、触发器视图,是一个虚表。建立在表的基础之上注意:可以建立在一张表,或多张表视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时原创 2020-08-05 10:47:17 · 477 阅读 · 0 评论 -
Oracle中录屏
oracle中的录屏只能是文字录屏例子:SQL> spool D:\note.txtSQL> select *from myempview; 部门编号 EMPNO ENAME SAL COMM DNAME---------- ---------- -------------------- ---------- ---------- ---------------------------- 20 .原创 2020-08-05 10:27:04 · 201 阅读 · 0 评论 -
Oracle中的三大范式
文章目录1.什么是范式2.第一范式(1NF) :原子性,不可拆分3.第二范式(2NF)要求实体的属性完全依赖于主关键字4.第三范式 (3NF)属性不依赖于其它非主属性1.什么是范式范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范原创 2020-08-05 09:29:52 · 1516 阅读 · 0 评论 -
Oracle中的约束
文章目录1.概况2.常见约束类型3. 约束分类3.1 列级约束3.2 表级约束4.外键4.1 级联删除4.2 级联置空5.追加约束5.1 唯一、主键、检查、外键约束5.2 默认,非空6.删除约束7.完整性约束1.概况对数据的限制条件: 数据类型2.常见约束类型检查约束(check): name > 4 限制长度唯一约束(Unique): id:1 2 3 4 null 某个字段字段只能是一个值主键约束(Primary key): 类原创 2020-08-04 14:49:32 · 284 阅读 · 0 评论 -
Oracle中的子查询
文章目录1.引例2.子查询可以出现的位置2.1 where2.2 select2.3 having2.4 主查询和子查询 可以是,也可以不同同一张表2.5 子查询可以使用 单行操作符(=,<),多行操作符(in)2.6 子查询中的null :子查询的结果中不要有NULL!!子查询其实也是一个完整的查询1.引例查出比scott工资高的员工信息:1.首先我们要查出scott的工资select sal from emp where ename=‘scott’2.我们在查出比1中查出的工资工的原创 2020-08-04 11:10:28 · 330 阅读 · 0 评论 -
Oracle只的多表连接查询
文章目录1.交叉连接(笛卡尔积)2.内连接3.外连接4.右外连接5.不等值连接6.全外连接7.自连接1.交叉连接(笛卡尔积)所有情况的组合(n*n),不推荐使用select * from emp ,dept;2.内连接多张表通过相同字段进行匹配,只显示匹配成功的数据a.(oracle独有) select * from emp e ,dept d where e.deptno = d.deptno ;b. select * from emp e inner join dept d原创 2020-08-03 10:32:55 · 179 阅读 · 0 评论 -
Oracle中的排序
order by 字段名|表达式|序号降序:select *from emp order by sal desc ;升序:select *from emp order by sal asc ;默认select *from emp order by sal+10000 desc ;null默认是最大值多列排序:SQL> select *from emp order by sal asc ; EMPNO ENAME JOB原创 2020-08-02 22:14:59 · 202 阅读 · 0 评论 -
Oracle中的null
通过is/not is来判断 null的计算 任何数字和null计算,结果为null 需要对null进行处理:null->0 nvl:if nvl(comm,0) nvl2:if .....else nvl2(comm,val,0) if(comm==null) return 0 else return val1、使用nvl(expr1,expr2) 处理NULL值解释该函数:nvl函数可以将expr1为空...原创 2020-08-02 22:06:02 · 162 阅读 · 0 评论 -
Oracle中的分组
文章目录1.分组查询概念2.分组与聚合函数3.多层分组4.having1.分组查询概念什么是分组查询:分组查询是按照一定的规则进行分组,分组以后数据会聚合,需要使用聚合函数,但是使用聚合函数不一定要分组,分组的关键字是group by。按照deptno分组,说明deptno只有10 ,20,30SQL> select deptno from emp group by deptno; DEPTNO---------- 30 20 10原创 2020-08-02 21:56:20 · 1076 阅读 · 0 评论 -
Oracle中的聚合函数
文章目录1.聚合函数2.常用的聚合函数3.使用聚合函数时需要注意的事情1.聚合函数聚合函数就是同时对一组进行操作,对每组行返回一行输出结果,这就是与单行函数的不同,聚合函数有时候也可以叫分组函数2.常用的聚合函数(1)avg(x):返回x的平均值(2)count(x):返回一个包含x的查询返回的行数(3)max(x):返回x的最大值(4)min(x):返回x的最小值(5)median(x):返回x的中间值(6)stddev(x):返回x的标准差(7)sum(x):返回x的和(8)var原创 2020-08-02 21:40:48 · 2855 阅读 · 0 评论 -
Oracle范围查询
1.between 小 and 大 闭区间SQL> select sal from emp where sal between 950 and 2450; SAL---------- 1600 1250 1250 2450 1500 1100 950 13002. >=小 and <=大SQL> select sal from emp where sal &g原创 2020-08-02 21:27:17 · 1157 阅读 · 0 评论 -
Oracle运算符
1.操作运算符:+ - * / %2.关系运算符:> >= < <= = !=或<>判断是否为null,必须是is,或is not3.赋值:update xxx set ename = ''plsql :=4.逻辑运算符:or and notSQL> select empno from emp where mgr=7788 and job='CLERK'; EMPNO---------- 7876...原创 2020-08-02 21:20:15 · 433 阅读 · 0 评论 -
Oracle中大小写问题
1.命令/关键词:不敏感(不区分)2.数据:敏感(区分),as “”----->是双引号原创 2020-08-02 21:07:18 · 247 阅读 · 0 评论 -
Oracle对表中的数据进行删除(delete from)
delete from 表名 where …删除全表:可以回退delete from mytab;删除全表:不可以回退truncate table mytab;SQL> delete from mytab1 where name ='ssb';已删除 1 行。二者执行时间set timing on对于少量数据:delete 效率高,一行一行删除对于海量数据:truncate效率搞,1.drop table 丢弃整张表,b.重新创建表...原创 2020-07-31 17:29:50 · 10453 阅读 · 0 评论 -
Oracle中对表的增加(insert into)
需要对Oracle中的表进行数据的增加方法一:常规写法,把需要增加的列写下来,然后进行增加SQL> insert into mytab(id,name,age,ssex) 2 values(3,'sb',111,'男');已创建 1 行。SQL> select * from mytab; ID NAME AGE SSEX---------- -------------------- ---------- -.原创 2020-07-31 17:03:46 · 594 阅读 · 0 评论 -
Oracle中删除表
在使用Oracle的时候,可能需要对一些不要的表进行删除形式:drop table 表名;这种形式的删除,在回收站里还有,就像win10一样删除了在回收站还能找到例子:SQL> drop table mytab1;表已删除。查看回收站:SQL> show recyclebin;ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME---------------- ----------.原创 2020-07-31 16:42:43 · 2148 阅读 · 0 评论 -
Oracle中修改表
在使用Oracle的过程中,需要对表的操作1.最加新列SQL> alter table mytab add sex varchar2(10);表已更改。SQL> select * from mytab; ID NAME AGE SEX---------- -------------------- ---------- -------------------- 1 cc .原创 2020-07-31 16:30:31 · 323 阅读 · 0 评论 -
Oracle中创建一个新的表(create)
在使用Oracle中需要我们创建一个新的表的时候形式:create table 表明(字段名);SQL> create table mytab 2 ( 3 id number, 4 name varchar(10), 5 age number 6 );表已创建。注意事项:1.权限和空间的问题scott这个权限是有创建表的权限2.表明的规定:a.必须以字母开头b.表明只能包含:大小写字母,数字,_,KaTeX parse error: Expe.原创 2020-07-31 16:07:43 · 6277 阅读 · 0 评论 -
Oracle在查询的时候重新命名
我们在使用Oracle查询某一列的时候,有些时候为了方便看,我们会把列重新命名看下具体的例子:select *from emp;select empno,ename,job from emp;select empno as "编号",ename "姓名",job 月薪 from emp;** 重新命名的时候最好加个""因为可能和Oracle里的关键字相同,as是可以省略的**...原创 2020-07-31 15:46:01 · 3599 阅读 · 0 评论 -
Oracle中什么控制行?什么控制列?
什么是关系型数据库?: 其实就一个二维表,那么什么控制行呢?什么控制列呢?1 控制列:select empno ,ename from emp;2 控制行where 执行顺序:右->左SQL> select ename ,empno, sal from emp where empno>=7000 and empno<=8000;ENAME EMPNO SAL-------------------- -----.原创 2020-07-31 15:41:32 · 228 阅读 · 0 评论 -
Oracle语句写错如何修改
在写oracle语句写错是常有的,比如:SQL> select * form emp;select * form emp*第 1 行出现错误:ORA-00923: 未找到要求的 FROM 关键字如何进行修改呢?方法一:重新写一遍方法二:使用: c /XXX/YY /SQL> c /form/from; 1* select * from empSQL> /方法三:通过txt里进行修改SQL> ed已写入 file afiedt.buf 1* s.原创 2020-07-31 15:36:49 · 452 阅读 · 0 评论 -
Oracle中对表的修改(update ....set...)
对于Oracle的表修改,没有很多操作,注意一点,要记得控制行update 表名 set 字段名1=字段名1,字段名2=字段名2…where …如果没有where控制行,那么表中的所有字段名都会被修改例如:SQL> update emp set ename = 'x' ,job ='y';已更新14行。SQL> select * from emp; EMPNO ENAME JOB MGR H.原创 2020-07-31 14:15:05 · 6692 阅读 · 0 评论 -
Oracle知识清单
文章目录0 oracle常用命令1. 对表中数据操作1.1 增1.2 删1.3 改1.4 查2. 对表本身操作2.1 增加列 删除列2.2 新建表 删除表2.3 增加约束2.4 修改表名和列名2.5 序列(sequence)3. 对库本身操作3.1 修改一些显示设置3.2 新建 删除 用户4. 常用函数4.1 自定义函数和执行4.2 数学函数4.3 字符串4.4 时间与字符串的那些事0 oracle常用命令详细1. 对表中数据操作1.1 增insert into 表名(列名1,列名2) valu原创 2020-07-31 13:49:47 · 126 阅读 · 0 评论 -
Oracle常用命令
文章目录1 登录1.1 登录超级管理员1.2 登录普通用户:show user2 查看当前连接数据库的用户3 用户切换:conn3.1 切换为超级管理员3.2 切换为普通用户4 查看用户下的表5 查看表结构6 scott用户下的表结构6.1 部门表dept6.2 雇员表emp6.3 工资等级表salgrade6.4 工资表bonus7 执行上一条sql语句:/8 注释:--注释内容 /*注释内容*/9 清屏10 查看行宽 show linesize11 设置行宽:set linesize 30012 设置原创 2020-07-30 12:39:51 · 186 阅读 · 0 评论