[数据库] Oracle数据库使用基本语法整理

版权声明:本文为博主在学习过程给自己记录,也让给朋友们少走点弯路。手动码字,义务整理,不喜勿喷。 https://blog.csdn.net/pratise/article/details/78225978

数据库高级(oracle)

1、sql基础

    1.1 sql语言:structure query language

        DDL:(data define language) create \drop\alter\truncate(截断)

             ddl默认自带事务,自动提交

 

        DML:(DATA MANAGEMENT LANGUAGE) INSERT \DELETE\UPDATE\SELECT  

             dml 自带事务,非主动提交;

 

        TCL:(transaction controll language)  commit\rollback\savepoint

           savepoint是的对事务的控制更细;

           ACID:

 

DCL:(data controll language) grant\revoke

           

     1.2 drop、delete、truncate的区别与联系

         drop:删除表 (表结构、记录)    写工作日志        可找回

         delete:删除记录(记录) 写工作日志        可找回

         truncate:截断表(删除记录) 不写工作日志      不可找回

     1.3 数据类型

         字符型:          数值:           日期:       大对象  

            char:          int              date          blob

            varchar:       number(p,s)   timestamp      clob 

            long:(2G)                                   flob  

         日期类型的本质:长整数

     1.4 常用函数 

         日期类型:sysdate、date、to_date(a,b)

         控制处理:nvl、nvl2

         聚合函数():avg、sum、min、max、count

     1.5 复杂查询

          多表连接

          子查询

          层次查询(递归查询)

          行列倒置:

          记录去重:

               

         

          

2、常用对象(序列、视图、索引);

   2.1 序列

       作为一个对象存在,多表使用一序列,一个表可以拥有多列的自增长;

       create sequence 序列名

         start with  起始数       不可更新

         minvalue    最小值

         maxvalue    最大值

         increment by  间隔数

         cycle   Yes|No  是否循环

         cache  缓冲数  

    2.2 视图

        view:虚表,存在于内存中,不占存储空间;

        a、分类:

           简单视图(单表视图)

   *对视图的操作等同与对基表的操作,前提不违反基表的约束;

           复杂视图(多表视图)

             多表连接查询生成的视图,为复杂视图

   *键保留表:在复杂视图中如果一个表的主键在视图中也当主键则,

                       该主键所在的基表为键保留表的

                 所有键保留表的字段在视图中可修改,非键保留表字段不可修改;

            *对复杂视图实现crud需要触发器的介入;

           物理视图 

        b、优势:

           将数据库设计与使用分离;

           将数据来源隐藏;

           更改字段名称;

           冗余对数据表的维护;

        c、基表:物理表、视图      

    2.3 索引

        index :索引占用空间

        局部扫描与全局扫描

        

        a、特点:有效索引可以提高查询性能,但会降低增删改的性能;

        b、单表索引一般不超过5个;

        c、主键、外键、经常查询的字段;

        d、导致索引失效:not 、or、函数、伪列

        e、oracle索引(B树)

           标准索引、唯一索引、反向键索引、位图索引

           1234  4321

           1235  5321

           1236  6321

           1237  7321

           性别:男、女、未知

           字段的取值数/记录数=0-1

        f、create index idex on 表(索引字段);

        h、索引对使用者完全透明; 

        i、索引存什么》

           记录标识+索引字段(主键+索引字段) 

        

3、pl/sql基础

   3.1 语义: procedure language/structure query language

   3.2 基本语法;

[declare

  局部变量 数据类型 ;

  局部变量 数据类型  :=默认值;

  局部变量 数据类型  default 默认值;

  常量 constant 数据类型  default 默认值;]

begin

  执行语句;

  [exception]

end ;

      属性类型:

          表名.字段%type

          表名%rowtype

         

   3.3 逻辑处理;

        if else 、if elsif  

        for

        while

         loop  end loop

   3.4 异常捕获;

       a、预定义异常 :too_many_rows\no_data_found\others

       b、自定义异常:

             定义异常类型

             主动抛出异常

       c、oracle错误信息

          

 

   3.5 不记名块;

       a、在plsql中只能出现增删改操作,不能出现查询操作;(DML)

       b、ddl语法只能以动态指令的形式出现;

       c、tcl语法可以出现;

 

   3.6 purge recyclebin; 清空回收站

 


 

 

展开阅读全文

没有更多推荐了,返回首页