数据库对象:
1.函数(方法):
    function

2.触发器:
    trigger

3.表:
    table

4.索引:
    index

5.视图:
    view

6.序列:
    sequence

7.用户:
    user

8.同义词:
    synonym

9.表空间:
    tablespace

授权:
    grant ... to

撤销权限:
    revoke ... from

Oracle学习重点:
1.标识列(序列+触发器)
2.分页sql代码

sqlserver的数据类型:
1.字符串:
    varchar

2.整数:
    int

3.小数:
    float/money

4.时间:
    datetime

5.布尔:
    bit

Oracle的数据类型:
1.字符串:
    varchar2

2.整数/小数:
    number(p,s) p:精度  s:小数位数 
    例如 number(5,2) 123.45

3.日期时间:
    date

--创建表
    create table tb_0723(
              sid number primary key,
              sname varchar2(50),
              ssex varchar2(10)
    )

六大约束:
1.主键
2.非空
3.检查
4.唯一
5.外键
6.默认

--创建表空间
    create tablespace tbs_0723
    datafile 'D:\app\0723.dbf'
    size 50M

--创建用户
    create user lx
    identified by 123
    default tablespace tbs_0723

--授权
    grant connect,resource to lx

--撤销
    revoke connect from lx

数据库:让数据持久性的
    SqlServer
登录用户:
        创建库==》创建表
        一个用户对应多个库
Oracle
        创建数据库:
            创建用户==》指定表空间
        一个库对应多个用户

伪列 :
    rownum,rowid

分页案例:
      每页3条数据
       第一页:1~3
       第二页:4~6
       第三页:7~9
       页码:pageIndex  1     2   3
       每页数据条数:pageSize     3
       开始:pageStart        1   4   7
       结束:pageEnd          3   6   9
       上一页的最后一条+1 就是本页的第一条
       pageStart=(pageIndex-1)*pageSize+1
       pageEnd=pageIndex*pageSize

函数:
日期函数:
获取月份:
    add_months

获取当前系统时间:
    sysdate

获取当前时间:
    current_date
取整(四舍五入):
    round

取整  只取年月日:
    trunc
    
本月最后一天:
    last_day

下周几为几号:
    next_day(星期一、星期二、星期三、星期四、星期五、星期六、星期日)

字符串函数:
小转大:
    upper

大转小:
    lower

去掉左边的指定字符:
    ltrim

去掉右边的指定字符:
    rtrim

在字符串中第一次出现的位置:
    instr

截取:
    substr

连接:
    concat、||

哈希码:
    ascii

编码对应的字符:
    chr

字符串字符长度:
    length

左填充:
    lpad

右填充:
    rpad

判断 字符为什么
    decode('b',    'a','周'     ,    'b',2    ,    'c','嗯呐'    ,    'd',4)

反序:
    reverse

数学函数:
向上取最小的整数:
    ceil

取整数位:
    floor、trunc

四舍五入:
    round

求余:
    mod

开平方:
    sqrt

正负数:
    sign

nvl:
    nvl(comm,0)--工资+奖金

查询每个员工的工资减去1250:案例
select ename, decode(sign(sal-1250),-1,'不纳税',0,'刚刚好',1,'纳税') from emp;

代码块:
        begin
          .....
        end
        
打印语句:
    dbms_output.put_line('');

赋值:
     into、:=
扫描器:键盘输入  &
字段类型:
     %type

行类型:    
       %rowtype

条件分支:
一种可能
        if 条件  then
              
       end if;
            
两种可能
       if 条件 then
              
       else
              
      end if;
            
三种 或 三种以上可能
      if 条件 then
              
     elsif 条件 then
            
      ....
     else ..
     end if;
            
case:
       case  when  then
       case 变量
       when 值1 then 代码1;
       when 值2 then 代码2;
       when 值3 then 代码3;
       ....
       else 代码n;
                
      end case;

循环:loop
       begin
    <<循环体名字>>[可写可不写]
         loop
           打印语句
    循环条件
      判断语句
         end loop;--停止
       end;

案例:循环打印1--100之间所有的整数
    declare i number:=1;
    begin
          <<a>>--给循环起名字为a
      loop
            dbms_output.put_line(i);
        i:=i+1;--每循环一次 i的值加1
        exit a when i=101;
         end loop;
    end;
while:
         while(循环条件) loop
                    循环体;
        打印语句
         end loop;

案例:循环打印1--100之间所有的整数
    declare i number:=1;
    begin
        while(i<=100) loop
                   dbms_output.put_line(i);
                       i:=i+1;   
          end loop;
    end;

for:
    begin
               for i in 数字..数字(循环条件、从小到大) loop
        打印语句
    end loop;
    end;
案例:循环打印1--100之间所有的整数
    begin
               for i in 1..100 loop
          dbms_output.put_line(i);
      end loop;
    end;

mod:余
案例:求出1--100之间所有能被3 和 5整除的数字之和
    declare  i number:=1;
    begin
     loop
              if(mod(i,3)=0)then
                  if(mod(i,5)=0)then
           dbms_output.put_line(i);
                  end if;
               end if;
          i:=i+1;
          exit when i>100;
      end loop;
    end;
异常:
         no_data_found
         too_many_rows

自定义异常:
    1、定义行类型
    2、查询数据
    3、打印定义
    4、exception when 异常  then
    5、打印输出
案例:
    declare mrow emp%rowtype;
    begin
      select*into mrow from emp where empno =6666;
      dbms_output.put_line(mrow.ename);
      exception when too_many_rows then
       dbms_output.put_line('查询数据太多');
       when no_data_found then
       dbms_output.put_line('查询不到数据');
    end;
抛出异常:
    1、定义变量
    2、定义异常
    3、抛出异常
    4、处理异常:
        案例:查询指定工号的员工工资,如果工资低于1250 就抛出工资太低异常
        declare
        msal number;--定义变量存工资
        me exception;--定义异常
        begin
              select sal into msal from emp where empno=7566;
                if(msal < 1250) then
                      raise me;--抛出异常
          end if;
              exception when me then--处理异常
                dbms_output.put_line('工资有点不高呀');
        end;

函数function:
    1、创建一个函数
    2、返回值类型
    3、定义变量
    4、查询语句
    5、返回值

案例:
    1、无参:定义一函数查询到工号为7369的员工姓名 
        create  or replace function  getname
          return  varchar2  is
          sname varchar2(20);
        begin
             select ename into sname from emp where empno=7369;
          return sname;
        end;

2、有参:定义一个函数,接收工号,返回这个员工的工资
        create or replace function getsal(sid number)
           return number is --返回值类型
           msal number;--定义变量
        begin
              select sal into msal from emp where empno=sid;
          return msal;--返回值
        end;
使用函数:
    1、无参:
    select 对象名() from dual;

2、有参:
    select 对象名(值) from dual;

游标:
    隐式游标
    显式游标:遍历多行数据
    REF游标(自定义游标)

打印:属性、一行中的属性
    
    隐式游标:SQL
      属性:
        %found:受影响行数>0就为true
        %notfound:受影响行数<1就为true
        %rowcount:受影响行数
        %isopen:判断游标是否打开,始终为false
        
      显式游标:
    1、定义游标
    2、打开游标
    3、提取数据
    4、关闭游标
案例:
        declare
        cursor 游标名 is sql语句;
        begin
          open 游标;
          loop
            fetch 游标 into 变量;
            exit when 游标%notfound;
            dbms_output.put_line();
          end loop;
          close 游标
        end;

嵌套:
loop(显式游标):
    1、定义变量
    2、定义游标
    3、定义第二个变量
    4、sql语句
    5、打开游标
    6、提取游标数据
    7、打印语句
    8、打开第二个变量的游标
    9、提取第二个变量的数据
    10、再次打印语句
    11、关闭两个游标
    
案例:打印部门编号的同时,打印该部门的所有员工信息
   declare
   dr dept%rowtype;--部门变量
   cursor dc is select * from dept;--部门游标
   er emp%rowtype;--员工信息变量
   cursor ec(dno number) is select * from emp where deptno=dno;--员工信息游标\
   begin
       open dc;--打开部门游标
       loop
           fetch dc into dr;--提取部门游标中的数据
         exit when dc%notfound;
            dbms_output.put_line('部门编号:'||dr.deptno);--打印部门编号、每得到一个部门编号,就查询该部门下的员工
               open ec(dr.deptno);--打开员工游标
             loop
              fetch ec into er;--提取员工游标中的数据
           exit when ec%notfound;
               dbms_output.put_line('     姓名:'||er.ename||'    工资:'||er.sal);
         end loop;
            close ec;--关闭员工游标
              end loop;
        close dc;--关闭部门游标
    end;

for:
    1、定义游标
    2、定义第二个游标
    3、for循环,打开游标,提取数据
    
案例:打印部门编号的同时,打印该部门的所有员工信息
    declare
    cursor dc is select * from dept;--部门游标
    cursor ec(dno number) is 
       select * from emp where deptno=dno;--员工游标
   begin
      for dr in dc loop--循环 打开游标 提取数据
        dbms_output.put_line(dr.deptno);
         for er in ec(dr.deptno) loop
         dbms_output.put_line('    姓名:'||er.ename||'   工资:'||er.sal);
         end loop;
      end loop;
    end;

序列:sequence 
创建序列
    create sequence 名字;

获取序列的当前值:
    select 名字.currval from dual;

获取序列的下一个值:
    select 名字.nextval from dual;

删除序列
    drop sequence 名字;

同义词:synonym 
案例:创建私有同义词
    create synonym sb for scott.emp;

共有同义词:public synonym
创建公有同义词:
    create public synonym sss for scott.emp;

创建视图:
       案例:
    create view v_info
     as
    select a.empno,a.ename,a.deptno,b.dname,b.loc 
    from emp a
     join dept b
    on a.deptno=b.deptno

授权视图:
grant create view to scott;

连接外键:references 表名(字段名)

提交事物:commit;

回滚(撤回):rollback

多行数据插入表二中:
    insert into 表1 select * from 表2;

复制数据及表字段并创建表2:
    create table 表2as select *from 表1

默认单词:default

默认为系统时间:
    to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')

去重:distinct

oracle整理笔记相关推荐

  1. oracle正整数集,Oracle 整理

    [Oracle 整理]的更多相关文章 [Oracle整理]ORA-12705(字符集问题)   2017年5月11日 18:11 [Oracle整理]ORA-12705(字符集问题) 说明:本内容是工 ...

  2. 达内oracle教材,达内学习心得oracle数据库笔记

    达内学习心得oracle数据库笔记 达内学员: oracle 数据库笔记获奖学员:王梓祺所获奖项:三等奖内容:/*前言:这份资料是结合老师笔记,课堂案例, TTS6.0 课件以及个人的理解整理,时间仓 ...

  3. 初学Oracle的笔记(2)——基础内容(实时更新中..)

    续 初学Oracle的笔记(1)--基础内容(实时更新中..) 1.oracle中创建一张表,写法与sql server中的一样. SQL> create table Course 2 ( cn ...

  4. html css整理笔记,HTML CSS整理笔记 (八) 定位网页元素

    ----8 定位网页元素---- 51.Position属性:指定盒子的位置,相对它父级的位置或它自身应该在的位置. (1)static 默认无定位,元素按照标准文档布局. (2)relative相对 ...

  5. Oracle安装笔记

    Oracle安装笔记 出现错误后不要慌,最主要的是看log文件的提示,其中比较简单的文件是install目录下的make.log 错误一: client_shared For example: /us ...

  6. xmpp整理笔记:xmppFramework框架的导入和介绍

    一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 往期回顾: xmpp整理笔记:环境的快速 ...

  7. C#中使用Oracle 存储过程笔记

      C#中使用Oracle 存储过程笔记 1. 调用包含out/ in out类型参数的存储过程 存储过程: CREATE OR REPLACE PROCEDURE "SITE_EDITSI ...

  8. 开发整理笔记Markdown基本使用

    Mou for Mac 整理笔记方便后期查看及使用 #标题 *无序排列 1.有序排列 引用 插入链接及插入图片: .代码框. 粗体 *斜体 表格如下图,较麻烦: ***分割线

  9. oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型

    oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...

最新文章

  1. Java并发编程—notify和notifyAll有什么区别?
  2. Zing加快了JVM应用程序的预热
  3. 第一阶段:前端开发_Mysql——表与表之间的关系
  4. [html] 浏览器是怎么对HTML5的离线储存资源进行管理和加载的
  5. [.net 面向对象程序设计进阶] (9) 序列化(Serialization) (一) 二进制流序列化
  6. R Markdown 简介
  7. Ubuntu16.04 +cuda8.0+cudnn+caffe+theano+tensorflow配置明细
  8. 全局变量不能放在头文件其中
  9. 【微信读书】《我不过低配的人生》- 雾拦满江 读书笔记
  10. java中this有什么作用_Java中this有什么用
  11. TFT-ST7789 方向调整
  12. 服务器上修改websphere变量,WebSphere常用设置
  13. 针对OpenSSL吐嘈的吐嘈-如此唱反调
  14. 国外14部经典励志电影推荐
  15. IDEA编辑页面html jsp js java无法即时生效
  16. VMware虚拟机中安装Win10系统
  17. 没有50W彩礼 女友被强行拽走! Python分析全国彩礼情况,心凉了!
  18. 20140419-MCSA 2012 Server R2 IntegrationService
  19. 量子计算机科学家,再破纪录!中国科学家实现18个量子比特纠缠 为量子计算机奠基...
  20. Python实现选择排序算法

热门文章

  1. 摩拜上海涨价,已成全国最贵单车,一月运维花4亿全年亏45亿
  2. 饿了么前端教程简明笔记
  3. 计算机在未来是否会代替人工,别惊讶!未来70%的工作会被人工智能替代
  4. 医疗器械产品 EMC 测试与整改思路
  5. php中可以用于执行sql语句的函数是,在PHP中,使用()函数执行SQL语句。
  6. 《龙虎门》--动作电影新希望
  7. 六度分离【Floyd】
  8. 142、解密POE交换机供电秘密,8芯网线断芯不再害怕!
  9. 跟着川川学习python爬虫的第一天
  10. <<多模态预训练>>2022:CoCa: Contrastive Captioners are Image-Text Foundation Models