1.数据库 database

2.主键 ,表的唯一性标识的一列,主键的值永远不能重。primary key

主键的类型:单一主键:一列构成的;复合主键:多个列组合起来充当主键。多采用流水号,单一列当做主键

3.三大规则 :实体完整性约束:主键  :PK

      参照完整性约束:外键 :A表的主键出现在B表,在B中就被成为外键,简称FK,此时A为主表,B从表

从表外键的值需要参照主表主键进行填充,或者从表外键的值为空,如果外键的值在主建中不存在,禁止填充

      自定义约束:唯一性约束 unique(对NULL无效,可以有多个NULL),

            空值约束 not null

            默认值约束 default(对NULL无效,可以录入NULL)

            检查约束 check(列名=''or列名='')(对null无效)

4. 存储字符串: Varchar2(长度 char)长度个汉字的长度

           Varcher2(长度)

  存储数字 NUMBER(n)

  存储日期 DATE

      DATE(N)错误书写

5.创建一个表的语法

      create table 表名(列名1 类型 primary key not null,

                列名2 类型 not null,

                列名3 类型 not null) ; (注意最后一个没有逗号)

插入数据到表中

      insert into 表名(列名1,列名2,列名3)

      values(列值1,列值2,列值3)列值的类型必须是列名的类型

查询语句的书写

      select 列名1,列名2,列名3 B(可以给列名起别名用于显示:

                      列别名需要加双引号的三种情况:1)区分大小写

                                     2)有空格

                                    3)特殊字符),B.列名

      from 表名 A(给表起别名A,然后在select中可以写A.列名),

        表名B(可以多表一起查询)(做多表连接的时候表的书写顺序,从表在前,主表在后,)

      where 条件语句 (先写筛选条件,后写连接)

      (where 可以做嵌套查询把另一个查询出来的结果作为筛选条件,但是不建议用,性能太差,一般把  select查询出来的作为from的一个虚拟表进行处理)

       order by asc 列名(正序)or desc 列名(逆序) 排序输出结果(order by 中 null最大)

改写语句

      update 表名 set 列值 (新)where 条件  满足什么条件就修改

删除语句 

      delete from 表名  整张表的数据删除

      delete from 表名 where 条件语句  有条件的删除数据

在表空间:

1.表空间与分用户管理

分用户管理在实现上有两种方式

方式1:物理隔离

每个用户的所有数据都存储到独立的表空间中,该表空间只装载该用户的所有表,这样一个用户的表空间发生问题,对其他用户没有影响

方式2:逻辑隔离

表归属用户所有,但是所有用户的表共用一个表空间

2.表空间(TABLESPACE)

就是表的容器,实际上就是一堆数据文件的集合,用户表中的数据,实际上存储到表空间的指定文件中.

表空间的分类:

1.临时表空间-----做交换分区

2.永久表空间------用以存储数据

删除表有两个:

    drop:可恢复

    ttruncate(数据截断)    :不可恢复  在oracle中有一个数据回滚,truncate就是绕过这个数据回滚,而drop可以回滚就恢复刚刚 删除的数据。

oracle数据库中的时间date:sysdate 就可以从表中获取 :select sysdate from dual;

字符串与日期之间的转换:to_date('1997-08-08','YYYY-MM-DD')

            to_char(sysdate,'YYYY-MM-DD HH25:MI:SS' )

时间的运算按天

多表关联查询中,表之间的构型

1.一主多从

2.一从多主

3.单线连珠

自连接 : 一个表和自己建立连接,把自己虚拟成另一张表就可以连接啦

比如查询scott 下 emp 中 每个职员的管理者

SELECT A.EMPNO,A.ENAME,A.JOB,A.MGR,B.ENAMEFROM EMP A,EMP BWHERE A.MGR=B.EMPNO

内连接(等值连接):

  只显示满足连接条件的数据,不满足的不显示;应用语境:应用于过去和现在,对既成事实的查询

外连接:以某一张表为基础,该表中的所有数据都显示,对应的从表,如果存在数据,则显示数据,如果不存在数据就显示NULL:对将来,全部的概念。

在Oracle中的语法:从表外键加(+);

比如查询scott下表emp所有人的管理者;

SELECT A.EMPNO,A.ENAME,A.MGR,B.EMPNO,B.ENAMEFROM EMP A,EMP BWHERE A.MGR=B.EMPNO(+)

对未来尚未实现的梦想进行查询外连接去反就可以实现:就是取从表相应列为null,该部分数据表位将来时

查询将来可能被管理的人

SELECT A.EMPNO,A.ENAME,A.MGR,B.EMPNO,B.ENAMEFROM EMP A,EMP BWHERE A.MGR=B.EMPNO(+)AND B.EMPNO IS NULL

这个例子可能不恰当,但是用法就这样

前面提到的排序 order by asc 正序 desc 倒叙也叫降序

多字段排序:依据字段分组,组内一字段一排序

分组统计函数 :

  min 求最小值

  max  求最大值(max min count可以对任意数据类型列取值)

  avg 求平均值(avg 与 sum 只能对数值类型列取值)

  sum 求和

  count 计算满足条件的记录数(自动忽略null值)

    count(列)只统计非空值,此列上所有不为null的参与计数

    count(*) 只要有一列不为空即可

    count五大统计函数中 具有筛选功能,

    用了聚合函数count,写在select中还有其他列名要查,就得进行聚合分组group by ,select出现的都得写在group by中。group by 子句中不能使用别的列别名进行分组,也不可以有子查询,可以有having子句。

sql语句的执行顺序

  1 from 获取数据

  2 where 筛选数据

  3.group by 聚合分组

  4.聚合函数运算

  5.having条件语句

  6.select 查询需要的列

  7 distinct 删除重复数据

  8 .order by 排序想要的数据

decode函数

   就是给字符表示的汉字意思显示出来。比如存入数据库 状态一栏信息,1代表活着.2代表死了

查询出来 1 或者2 别人看不懂我们就可以用 decode函数实现 decode(表名.列名,'1','活着')这样如果是1就显示活着、

substr 函数

  用来 截取字符串 substr(‘abcdefg’,2,3)从第二个开始截取三个字符‘bcd’,如果2改成-2则顺序颠倒,如果3改成100截取到最后一个位置‘bcdefg’。

rowid:

  这是两个伪列;行的物理地址,以最快的速度,检索或者删除满足条件的记录

这个用到嵌套查询 我们查出要删除的重复数据的最大rowid然后把前边的我们不需要的全部删除

rownum:

  查询结果集中,每行的记录的行号。一般用于top-n分析;在select中直接加上rownum就会给查询出来的数据每行加上一个序号;然后可以在where条件中写 rownum<3  就可以获取前两行的数据。< 与!=一个意思,<=小于等于

大多数人说:rownum用来做分页查询:

在这我了解到rownum用来做top-n分析。就是对前几名的数据的获取,先是查询出来用某一列用order by排序作为虚拟表用rownum选择我们要的前几名然后在可以用一个order by 语句来选择我们想要的顺序输出,注意用什么来排序必须在上述的select 虚拟表中查出来的。

序列

create sequence 序列名  :用来产生一个递增的值,但不保证连续

删除 drop sequence 序列名

索引

作用:有助于提高查询效率

创建时机:一般在系统上上线运行半年,基于优化性能角度考量,将用户经常使用的查询条件列创建索引。

自动索引,oracle中存在主键索引和唯一约束索引

创建索引的语句create index 索引名 on 表名(列名,列名)可以一列 为单一索引可以多列复合索引

删除索引 是drop index 索引名

视图

view 创建视图 语句 create view 视图名字 as select 查询出来的数据 相当于一个虚拟表 真正项目中不会用到视图的

删除语句 drop view 视图名字

视图与原始表的关系:

视图只是原始表数据的引用,视图中,没有任何数据

当查询视图的时候,相当于将创建视图时select语句再执行一次,

视图的作用:混淆原始数据,重构数据,简化查询。

转载于:https://www.cnblogs.com/doucunkai/p/7295685.html

Oracle数据库基础知识点汇总相关推荐

  1. Web阶段--Oracle数据库基础知识点

    Web阶段–Oracle数据库基础知识点 一.数据库 1.定义 是一个数据存储管理的软件,全称rdbms(关系数据库管理系统),简称数据库(db) 2.为什么需要应用数据库? 1.现有文本文件存放数据 ...

  2. Oracle数据库基础知识点大全(一)

    Oracle数据库基础知识点大全 一.数据库基本概念 E-R模型 数据库对象 二:标准SQL包含了4种基本的语句类别 三:DML语句(数据操作语句) 数字和日期使用的数学表达式 常用 where 查询 ...

  3. Oracle的基础知识点汇总

    1.关于oracel的SQL语句分类: DQL(数据查询语句):select DML(数据操作语句):delete.update.insert DDL(数据定义语句):create.alter.dro ...

  4. 数据库基础知识点汇总(事务,索引)

    目录 三大范式 索引 概念 使用场景 索引的类型有哪些,他们的区别是什么? 作用 正向 负面 为数据表建立索引的原则有哪些? 创建 查看 删除 注意事项 什么情况下不宜建立索引? 什么情况下索引不会触 ...

  5. java基础知识大全,java 基础知识点汇总

    java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...

  6. Oracle数据库基础教程

    查看书籍详细信息: Oracle数据库基础教程 编辑推荐 体现作者多年的数据库管理与开发经验,结合大量实用技巧,重点突出,便于灵活掌握,提供典型应用实例与上机实验,分析详细,实用性强. 本书是作者结合 ...

  7. 计算机基础知识点文库,计算机基础知识点汇总.doc

    计算机基础知识点汇总.doc (19页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 一-.基础操作1. 在中文Windows中,使用软键 ...

  8. SSH:Oracle数据库基础

    2019独角兽企业重金招聘Python工程师标准>>> Oracle数据库基础 一:Oracle基础知识 Oracle数据库的主要特点 (1.)支持多用户,大事务量的事务处理 (2. ...

  9. oracle12c 新特性,12c Oracle数据库新特性汇总

    12c Oracle数据库新特性汇总 中文社区 (MOSC) 数据库 (MOSC) 8 Replies Last updated on February 15, 2017 12c Oracle数据库有 ...

最新文章

  1. 如何实现CSS居中?–CSS居中常用方法
  2. 分分钟收入上万 她做到了网红最难的粉丝沉淀
  3. Qt D-Bus类型系统
  4. android:background=@color/white [create file color.xml at res/values/]
  5. idea中git打tag(亲测)
  6. 11位大咖带你玩转WebRTC开发(内附PPT资料下载)
  7. Android Material风格的应用(三)--DrawerLayout
  8. 【渝粤教育】国家开放大学2018年秋季 0630-21T环境法学 参考试题
  9. 切线理论-支撑位与阻力位
  10. Python菜鸟入门:day11文件操作
  11. Mysql问题1862
  12. 教你chrome浏览器断点调试理解闭包
  13. VB 2010 (53)Command对象
  14. 处理器仿存带宽_《CPU与内存的带宽搭配》
  15. 扑克洗牌java_java扑克牌洗牌发牌问题
  16. IT转型之路(一) 迷茫、困惑
  17. OCUI界面设计:导航控制器
  18. 从bilibili下载视频,取其音频
  19. 高电平和低电平之间的电平芯片会识别成什么
  20. 秋招在即,你准备好了吗?BAT算法工程师面试经验分享。

热门文章

  1. [erlang]proc_lib源码浅析
  2. 《设计模式之禅》学习笔记(一)
  3. Windows 7防火墙配置FTP相关
  4. Oracle Golden Gate 系列十五 -- GG Trails 说明
  5. 使用node来搭建简单的后台业务
  6. YOLO训练Pedestrain
  7. mysql5.6 centos编译部署
  8. 【Linux高频命令专题(24)】grep
  9. 图解ecshop之批量上传与批量处理
  10. C# 工厂模式 简单入门