• oracle高阶知识点


    ------------------------------------------------- varchar2(4000)字符型,最大长度不能超过4000,与char的区别是不用空格补足 number(1)标志 number(10)整型 number(14,4)小数 -------------------------------------------------- date 日期 Clob大文本字段(文章,读取时需要一些特殊处理) Blob二进制字段(附件)

    tuuncate清空表快,效果强烈,属于DDL---数据定义语言,数据被删除后无法回滚 delete删除后可以rollback,即使已经commit,属于数据操作语言

    普通视图(虚拟的表,就是一个查询)和物化视图(查询结果存到硬盘里)

    物化视图类型(刷新方式不同) on demand on commit

    存储过程(无返回值) 包(缺点:耦合的高) 自定义函数(有返回值)

    数据很大时,将数据库数据取到内存中,进行操作 好处:减少同数据库的交互

    触发器

    导入导出命令,可保存为bat来执行 如果导入前,表中数据非空,需先清空表

    ------- ---------------------------------------------------

    distinct group by分组     having过滤分组

    ---------------------------------------------------

    子查询 in

    create table t_m_s as select * from ... where 1<>1;//创建一个与该视图具有相同结构的空数据表

    向表中批量插入数据 insert into  ... select * from ... where ... 列名不要省

    ---------------------------------------------------

    联合语句 union取并集(排除重复) union all取并集(不排除重复) intersect取交集 minus减 运算没有优先级,从左到右

    ----------------------------------------------------

    连接 cross join 笛卡尔积 inner join 仅对满足连接条件的cross中的列 left outer join

    ----------------------------------------------------

    update,最容易被忽略的是添加where条件,没有添加限制条件,将更新全部。 单表视图是可以更新的,多表视图是不允许更新的 select * from ... for update

    ----------------------------------------------------

    常见函数

    lpad(),向左补全字符串 rpad(),向右补全字符串 lower() upper() length()

    -------------------------------------------------------

    substr(string,start_index,length)

    截取字符串 instr()获得字符串出现位置 取文件名(exception:多个点号,不存在点号。。。)

    -------------------------------------------------------

    oracle中的‘空’

    ---------------

    ‘’和null是一样的 空字符串就是空,空就是空字符串

    select length('') from dual;返回为空

    -------------------------------------------------------

    精度与小数位数

    -------------------------------------------------------

    abs() round()

    SQL> select round(23.37,1)from dual;   ROUND(23.37,1)

    --------------          

    23.4 ------------------------------------------------------

    ceil() floor()

    trunc()截取数字 mod()取余

    ------------------------------------------------------------

    sysdate-1

    last_day()

    add_month()加上月份

    months_between()

    trunc()截取日期

    -------------------------------------------------------------

    to_char()格式化日期

    SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;  

    TO_CHAR(SYSDATE,'YYYY-MM-DD')

    -----------------------------

    2013-12-05  

    SQL> select to_char(sysdate,'yyyy/mm/dd') from dual;

      TO_CHAR(SYSDATE,'YYYY/MM/DD')

    -----------------------------

    2013/12/05

    -------------------------------------------------------------

    max,min数字,字符,日期都可以用 avg数字

    count(id)单列 count(*)统计所有列

    decode()多值判断函数,相当于if else,减少代码量,

    oracle专用 nvl()函数,空值处理

    -------------------------------------------------------------

     rownum 返回结果集的行号

    select rownum,t.* from ... t where rownum<5 order by salary(假分页)

    select rownum,a.* from (select )(真分页)

    -------------------------------------------------------------

    between数字, in like模糊匹配(区分大小写)

    -------------------------------------------------------------

    排名函数

    rank()    dense_rank()     row_number()

    ------------------------------------------------------------

    优化sql语句

     exist 表存在,速度快  in 表匹配

    ---------------------------------------------------------------

    硬盘是ntfs的,可以用everything

  • 相关阅读:
    图表插件echars的使用案例
    安装Eclipse
    ef 更新数据库
    webapi Route 特性
    WebSite下创建webapi
    C# 泛型约束
    Session共享
    ubuntu eclipse 无法打开
    C# TreeView 连续点击 不触发AfterCheck事件
    ef 仓储模式 Redis
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/3476553.html
Copyright © 2020-2023  润新知