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
oracle高阶知识点的更多相关文章
- docker 系列 - Dock高阶知识点文章汇集
docker 技术已经研究了一段时间, 基本的知识点和使用场景比较清楚了, 还有一些比较高阶的内容未曾尝试, 将来工作中如果能用到, 再深入研究吧. 这篇博文汇总了一些有用的文章链接. ======= ...
- Cloudera Hadoop 5& Hadoop高阶管理及调优课程(CDH5,Hadoop2.0,HA,安全,管理,调优)
1.课程环境 本课程涉及的技术产品及相关版本: 技术 版本 Linux CentOS 6.5 Java 1.7 Hadoop2.0 2.6.0 Hadoop1.0 1.2.1 Zookeeper 3. ...
- 初学 Python(十二)——高阶函数
初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...
- 匿名函数、高阶函数以及map
最近学习的知识点 # 匿名函数 n = lambda name:name+"_a" print(n("alex")) # 高阶函数 # 1.参数有函数 2.返回 ...
- 迈向高阶:优秀Android程序员必知必会的网络基础
1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...
- Kotlin——高级篇(二):高阶函数详解与标准的高阶函数使用
在上面一个章节中,详细的讲解了Kotlin中关于Lambda表达式的语法以及运用,如果还您对其还不甚理解,请参见Kotlin--高级篇(一):Lambda表达式详解.在这篇文章中,多次提到了Kotli ...
- 1.函数的结构,调用,传参,形参,实参,args,kwargs,名称空间,高阶函数
1.函数的初识 初始函数 获取任意一个字符串的元素的个数 s1='dsjdkjkfefenga' count=0 for i in s1: count+=1 print(count) 获取列表的元素的 ...
- 08 . Python3高阶函数之迭代器、装饰器
Python3高阶函数之迭代器.装饰器 列表生成式 推导式就是构建比较有规律的列表,生成器. 孩子,我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里 ...
- python学习笔记1 -- 函数式编程之高阶函数 map 和reduce
我用我自己,就是高阶函数,直接表现就是函数可以作为另一个函数的参数,也可以作为返回值 首先一个知识点是 函数的表现形式,印象中的是def fw(参数)这种方式定义一个函数 python有很多的内置函 ...
随机推荐
- 集合框架遍历方式之——for-each循环
从Java5起,在Java中有了for-each循环,可以用来循环遍历collection和array.Foreach循环允许你在无需保持传统for循环中的索引,或在使用iterator /ListI ...
- MVC 微信扫码支付
微信扫码支付有两种模式, 模式一和模式二, 两者具体的区别可参考官网文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_4 微 ...
- DBCP数据源连接池实现原理分析
前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的 ...
- NAT技术
该文摘自百度百科"NAT"中的一部分 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地 ...
- android studio 注释模板
File->Settings->Editor->File and Code Templates-> Templates->class Includes->File ...
- 06Java数组
动手动脑: import java.io.*; public class QiPan { //定义一个二维数组来充当棋盘 private String[][] board; //定义棋盘的大小 pri ...
- (转)如何在一台电脑上开启多个tomcat 和配置让系统识别哪个具体的tomcat
大家基本上都只在一台电脑上面启动一个Tomcat,而启动多个Tomcat会提示报错等相关故障.而假如调试负载均衡及集群的时候,需要在一台电脑上面开启多个Tomcat,那么怎么开启呢? 方法/步骤 首先 ...
- Hishop网站迁移后出现DataProtectionConfigurationProvider错误
错误代码如下: 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误信息: 未能使用提供程序“DataProtectionCon ...
- 关于delphi点击webbrowser中任意一点的问题
关于delphi点击webbrowser中任意一点的问题 有时候我们需要delphi载入webbrowser1打开网页的时候 需要点击某一个点的位置 可能是坐标 可能是按钮 可能是其他的控件应该如何来 ...
- 刨一刨内核container_of()的设计精髓
新年第一帖,总得拿出点干货才行,虽然这篇水分还是有点大,大家可以晒干了温水冲服.这段时间一直在整理内核学习的基础知识点,期间又碰到了container_of()这个宏,当然还包括一个叫做offseto ...