博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle高阶知识点
阅读量:5311 次
发布时间:2019-06-14

本文共 3093 字,大约阅读时间需要 10 分钟。

------------------------------------------------- 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

 

 

转载于:https://www.cnblogs.com/ximencuixue/p/3476553.html

你可能感兴趣的文章
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
图片生成缩略图
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
Spring面试题
查看>>