oracle-071考题知识点总结

本文详细介绍了Oracle数据库的基础操作,包括DML(插入、更新、删除)、DDL(修改、增加、删除)、函数(聚合、日期、替换等)、主键与索引、数据类型以及事务管理。还涉及到了视图、同义词、序列、权限和SQL操作等,是学习Oracle数据库操作的重要参考资料。
摘要由CSDN通过智能技术生成

(脑图文件的分享,本意是方便大家,但是积分资源变成平台收割的途径,如有需要,可私信)

oracle

基础操作

DML

插入
  • single table insert

    • insert into… values…

      • 一次不能插入多行
    • insert into … select from…

  • multi table insert

    • insert all,分为有条件插入和无条件插入,可以有else子句,同一个when可以被多个into使用
    • insert first,只要匹配when,后续判断不再执行
    • 可以将每行计算的记录插入到多个表中
    • 可以在相关表执行
    • 只能通过子查询执行
    • 不能在remote 表执行
    • 不能在视图执行
    • 不能用SQL*Loader执行
更新
  • update

    • 更新单行

      • 单行单列

        • update table set column = … where…
      • 单行多列

        • update table set col1=…,col2=…, where…

          • 可以对被更新的每一列单独使用不同子查询

          • update set can modify multiple rows based on multiple conditions on a table

          • update table set (select … from …)

    • 更新多行

      • update table set col1=…(即没有where条件)
      • select * from table for update
  • delete

    • dml,可使用rollback撤销回滚
    • 可以使用where指定要删除的行
    • 清空表数据
  • cascade:级联删除时使用

DDL

  • alter table

    • 重命名一张表/列名/列字段类型;新加列

      • alter table add/drop/modify column 列名 (字符类型)(单列,需要加上column)

      • alter table add/drop/modify (列名1,列名2…) (多列)

      • 为表中一组数据行加锁

      • 启用或禁用表上的约束

      • drop column

        • 不能将所有列同时drop掉,会报错
      • set unused(列名)

        • unused:由于对大表drop column很耗时,可以先用 set unused逻辑删除,等找到时间窗口再做物理删除;set unused的列仍被计算在每张表的前1000列
        • 被set unused的列名可以被新列复用
        • 被set unused的列中数据不再可以更新
        • 清除掉字典信息(撤消存储空间),不可恢复
        • 不会释放数据行的该列数据占用空间,即使commit
  • create table
    • 外表

      • create table cost ( cost_id number(2), credit_limit number(10) ) organization external (type **** default directory *** location(‘***.csv’))
      • type: 数据转换驱动器,默认为oracle_loader/oracle_driver
      • location: 指定外部表所在文件夹以及指定文件
      • create table as select语句可以从外表中upload数据到数据库里的regular table
      • data,metadata存储位置,都在数据库外❌
      • 默认的reject limit对于外表来说是unlimited❌
      • oracle_loader/datapump在外表里有相同的功效❌
    • 临时表

      • global temporary table,分为事务级、会话级;事务级只对当前事务有效,on commit delete rows;会话级只对当前会话有效,on commit preserve rows
      • 可以有多个索引;
      • 可以被定义视图的语句引用
      • 可以创建触发器
      • 可以被定义为多个session访问
      • 可以只授予一部分列的权限:insert,update,references
  • truncate

    • 不可以通过rollrack撤销
    • 不可以使用where指定要删除的行
    • ddl语句,隐式提交
    • 只删除表中数据,保留表结构及其列、约束、索引等,新行计数值重置
  • drop

    • drop index/table/database (表上定义的所有索引/约束被drop)
    • ddl,无法回滚
    • 表被移到 recycle bin
  • purge

    • 对回收站中的表执行清除
    • 可使用drop table…purge,表示将表彻底清除,并且可以释放表所占用的空间

函数

聚合函数

  • group by。。。having 聚合函数 条件

  • count

    • count(*,1,常
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值