Oracle

  • 数据库
    • 存储和管理数据的仓库
    • 作用:提高了应用的开发效率
  • DBMS数据库管理系统
    • 指一种操作和管理数据库的大型软件
    • 用于建立使用和维护数据库
    • 保证了数据库的安全性和完整性
  • 数据库分类
    • 关系型数据库
      • 支持SQL语言
      • 指的就是二维表格模型
      • 由二维表格及其之间的联系所组成的一个数据组织
    • 非关系型数据库
      • 指数据以对象的形式存储在数据库中
      • 对象之间的关系由对象自身的属性决定
      • 常用于存储非结构化的数据
  • SQL
    • DDL
      • 数据定义语言
      • 用来定义数据库对象(数据库、表、字段 等)
    • DML
      • 数据管理语言
      • 用来对数据库中的数据进行增删改
    • DQL
      • 数据查询语言
      • 用来查询数据库中的记录
    • DCL
      • 数据控制语言
      • 用来创建数据库用户,控制数据库的访问权限
  • ORACLE 特点
    • 支持多用户、大事务量的事务处理
    • 数据安全性和完整性控制
    • 支持分布式数据处理
    • 可移植性
  • ORACLE 体系结构
    • 数据库
    • 实例
    • 数据文件(dbf)
    • 表空间
    • -用户
  • 数据类型
    • 字符型
      • CHAR
        • 固定长度的字符类型,最多存储 2000 个字节
      • VARCHAR2
        • 可变长度的字符类型,最多存储 4000 个字节
      • LONG
        • 大文本类型。最大可以存储 2 个 G
    • 数值型
      • NUMBER
        • 数值类型
      • 例如
        • NUMBER(5) 最大可以存的数为 99999
        • NUMBER(5,2) 最大可以存的数为 999.99
    • 日期型
      • DATE
        • 日期时间型,精确到秒
      • TIMESTAMP
        • 精确到秒的小数点后 9 位
    • 二进制型(大数据类型)
      • CLOB
        • 存储字符,最大可以存 4 个 G
      • BLOB
        • 存储图像、声音、视频等二进制数据,最多可以存 4 个 G
    • truncat 与 delete 实现数据删除
      • delete 删除的数据可以 rollback
      • delete 删除可能产生碎片,并且不释放空间
      • truncate 是先摧毁表结构,再重构表结构
  • Select
    SELECT [DISTINCT] {*,column alias,..}
    FROM table alias
    WHERE 条件表达式
    ORDER BY 排序字段列表 [asc|desc]
    • 部分列
      • 查询部分字段,指定的字段名

    • 所有列
      • 查询所有的字段 通配符 * ( 书写方便、可以检索未知列;但是降低检索的性能) ,数据的顺序跟定义表结构的顺序一致
    • 去除重复
      • 使用distinct去重,确保查询结果的唯一性
      • 可用于一列,也可以用于多列
    • 别名
      • 使用别名便于操作识别 、隐藏底层信息。存在字段别名和表别名
      • as
        • 字段别名可以使用as;表别名不能使用as
      • ""
        • 原样输出,可以存在 空格与区分大小写
    • 字符串
      • 使用’’表示字符串(注意区分””) ,拼接使用 ||
        • select 'my' from emp;sql
        • select ||'a'||'-->' info from emp;
    • 伪列
      • 不存在的列,构建虚拟的列
        • select empno, 1*2 as count,'cmj' as name,deptno from emp;
    • 虚表
      • 用于计算表达式,显示单条记录的值
        • select 1+1 from dual;
    • null
      • null 遇到数字参与运算的结果为 null,遇到字符串为空串
      • 一个字段没有赋值,默认值为null
      • null值与数字运算结果为null
  • 条件查询
    • Select 要查询的数据 from 数据源 where 行过滤条件
    • 条件判断运算符
      < > <= >= = != <>
    • 执行流程
      from--->where--->select
    • 条件接连符
      and(两者都、且)、or(或者)、not(条件反取)
    • 区间判断
      条件1 and 条件2 / between 值1 and 值2
    • null
      判断null值要是用is null不能使用条件判断,只能使用is
    • 集合操作
      • Union并集(去重)
        对两个结果集进行并集操作,不包括重复行同时进行默认规则的排序;
      • Union All全集(不去重)
        对两个结果集进行并集操作,包括重复行,不进行排序 ;
      • Intersect交集(找出重复)
        对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
      • Minus差集(减去重复)
        对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序
    • 模糊查询(Like)
      • 效率低
      • 模糊查询,使用通配符
        • %
          零个及以上(任意个数的)的字符
        • _
          一个字符
        • +
    • in与exists
      • in
        • 判断值是否在in后面的值列表中,如果再就满足条件,不在就不满足
        • in相当于使用or的多个等值,定值集合 ,如果存在 子查询,确保 类型相同、字段数为1,如果记录多,效率不高,用于 一些 少量定值判断上
        • ==>in
          • 如果记录多,效率不高,用于 一些 少量定值判断上
      • exists
        • exists 条件为true
          • 存在记录,则返回结果,后续不再继续 ,与字段无关,与记录有关
        • exists 难点
          • 外层结果集 内层结果集、 关系列(没有关系列 true)
    • 排序(Order by)
      • 排序不是真实改变存储结构的顺序,而是获取的集合的顺序
        • 顺序
          • asc(升序)(默认) desc(降序)
        • 多字段
          • 在前面字段相等时,使用后面的字段排序
        • 空排序
          • 降序为 desc,注意 null 为最后
    • 子查询
      • 查询语句嵌套查询语句
      • 当条件与要查询的数据在不同的数据源,而两个数据源之间存在一定的关联方式,可以子查询中转查询
  • 函数
    • 函数分
      • 系统内置函数
      • 自定义函数
      • 单行函数
        • 一条记录返回一个结果
        • 将每条数据进行独立的计算,然后每条数据得到一条结果
      • 多行函数
        • 多条数据同时计算,最终得到一条结果数据
        • 也成为聚集函数、分组函数, 主要用于完成一些统计功能
    • 单行函数
      • 字符串函数、数值函数、日期与时间函数、流程函数
      • 日期函数
        • 注意区分 db数据库时间 ,java应用服务器的时间。以一方为准
          • oracle
            以内部数字格式存储日期年月日小时分钟秒
          • sysdate/current_date
            以date类型返回当前的日期
          • add_months(d,x)
            返回加上x月后的日期d的值
          • LAST_DAY(d)
            返回的所在月份的最后一天
          • months_between(date1,date2)
            返回date1和date2之间月的数目
          • next_day(sysdate,星期一) 下一个星期一
      • 转换函数
        • to_date(c,m)
          字符串以指定格式转换为日期
        • to_char(d,m)
          日期以指定格式转换为字符串

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值