1.简介

1.1.sql:Structured Query Language 结构化查询语言

1.2.windows在目录路径中使用反斜线\,unix和linux使用正斜线/

1.3.Number(a,b) a为总有效位数,b为最多小数位数

1.4.Insert into 表名(需指定主键及要求非空的字段,允许为空的字段如果不给值默认插入null)......

1.5.Binary_float和Binary_double是对number类型的补充,适合涉及大量数字运算的系统

1.6.oracle大小写不敏感,列名和表名都可以大小写替换

2.从数据库表中检索信息

2.1.rowid又被称为伪列,记录了该行在oracle中的物理位置(eg:AAASUiAAFAAAAHsAAA)

2.2.date格式日期可以直接相互加减,单位为天

2.3.字符串间通过||合并列

2.4.null和空字符串是两个不同的概念,select的时候都显示空的值,可通过nvl()函数加以区分,null会被替换,空字符串不会被替换

2.5.between a and b 包含边界

2.6.连接本身包含

内连接(两者公共的部分,inner join..on)

外连接(左连接,右连接,全外连接)(left join,right join,(+))

Eg: select...from a,b where a.id(+)=b.id  则以b表为主表

自连接(eg:员工信息和老板信息在一个表

select w.name||'works for'||m.name from employees w,employees m where w.manager_id(+)=m.employee_id )

3.使用简单函数

3.1.count()函数避免使用*,增加了运算量,应该使用某一列

3.2.select后面的字段(除聚合函数)group by后面必须都有,反过来,group by后面的字段select后面却并不要求一定有

3.3.分组依据的所有字段值完全相同时才视为相同然后合并为一行

3.4.字段值为null的也会被分成一组

3.5.聚合函数包括avg,count,max,median,min,stddev,sum,variance(聚合函数会忽略null值)

3.6.

a.如果查询中包含聚合函数,而所选择的列并不在聚合函数中,那么这些列必须在group by子句中,错误事例如下:

eg: select a,avg(b) from table

后面应该加group by a

b.不能在where子句中使用聚合函数来限制行,因为where子句只能用来对单行而不是分组过滤,过滤分组行要用having,使用having的前提是必须有group by

Eg:select  a,avg(b) from table where avg(b)>20 group by a

4.日期和时间的存储与处理

5.使用sqlplus

6.子查询

6.1.错误事例:

Eg:select a,b from table where a=(select a from products where b like ‘%e%’)

= 只能处理一行

6.2.子查询不能包含order by

6.3.多行子查询可以使用IN,ANY,ALL操作符

6.4.可以使用多列子查询

Select a,b,c,d from table where (a,b) in (select a,min(b) from table group by a)

6.5.关联子查询,内部查询可以调用外部表简称(检索价格高于同类产品平均价格的产品)

Eg:select product_id,product_type_id,name,price from products outer

Where price>

(select avg(price) from products inner where                       inner.product_type_id=outer.product_type_id)

外部查询从表中检索出所有的行,并将其传递给内部查询,内部查询依次读取每一行数据

6.6.使用exits时可以返回一个常量值,提高查询的性能

Eg:select employee_id,last_name from employees outer where exits(select 1 from employees inner where inner.manager_id=outer.employee_id)

检索负责管理其它员工的员工记录(关联子查询)

6.7.select 1 from table where id=...

无值:列名为1,行数为空

有值:返回一列,列名为1,列值也为1,行数为返回的行数

6.8.一般exits的性能比in性能高,为了避免空值影响,最好使用nvl函数

6.9.表连接的查询性能高于嵌套查询,嵌套最多255

6.10.单行子查询

多行子查询

多列子查询

关联子查询

嵌套子查询

7.高级查询

7.1.UNION操作符返回查询检索出的所有非重复行,要求表的列数和类型要一样,列名可以不一样,UNION ALL操作符才返回所有行,包括重复行

8.修改表内容

8.1.事务:一组不可分割的SQL语句,一个逻辑工作单元

8.2.原子性,一致性,隔离性,持久性

8.3.并发事务间相互独立,除非有事务提交了才可能有影响

8.4.事务锁:读程序不会阻塞读程序,写程序不会阻塞读程序,只有在试图对相同的行进行修改时,写程序才会阻塞写程序

9.数据库安全性

10.创建表,序列,索引,视图

10.1添加列

Alter table 表名 add 列名 类型

10.2.truncate,delete

11.PL/SQL编程简介

11.1.声明变量可通过

X 表名.列名%TYPE

11.2.循环中经常使用exit when.....

Eg:exit when 游标名%notfound

11.3.oracle有很多内置的异常,异常发生时,控制权交给EXCEPTION模块

12.数据库对象

13.集合

14.大对象(LOB)

14.1.CLOB  字符数据

NCLOB  多字节字符数据(常用于非英语字符)

BLOB  二进制数据

BFILE  文件指针,文件位于数据库之外

15.使用JAVA运行SQL

15.1.JDBC(Java Database Connectivity)

API(Application Programming Interface)应用编程接口

15.2.JDBC驱动程序有4种

Thin驱动程序

OCI驱动程序

服务器端内部驱动程序

服务器端Thin驱动程序

16.SQL优化

16.1.表连接查询时,将行较少的表连接到后面

16.2.为表起别名,查询字段利用别名去调可以减少执行时间

16.3.当单个查询检索的行数不大于表总行数的10%,建立索引是有用的,且索引的候选列应该用于存储范围广泛的值,比如主键列

17.select * from nls_database_parameters where parameter='NLS_CHARACTERSET';

select userenv('language') from dual;

18.数据库用户具有的角色权限在存储过程中失效,即使这个用户名有dba的角色也没用,必须手动赋予

比如:grant create any table to 用户名

sqlplus管理员连接:

sqlplus 用户名/密码@ip:port/实例 as sysdba

或者先sqlplus /nolog

然后 conn 用户名/密码@ip:port/实例 as sysdb

sys    dba     system  sysoper

sqlplus执行sql:  @sql路径名

角色授予:grant dba to 用户名;

18.oracle创建主键时会默认给主键字段加上唯一索引,便于检索, 在同一个namespace的oracle对象名字不能相同

19.查看用户具有LOB对象的时哪些表,哪些字段(dba),lob是由创建表中含有blob,clob造成的

select owner,TABLE_NAME,column_name,DATA_TYPE from dba_TAB_COLUMNS where data_type like '%LOB%' and owner='SCOTT';

median函数 oracle9i,oracle10g学习笔记相关推荐

  1. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  2. linux xlib函数手册,Xlib 学习笔记

    Xlib学习笔记第一章1.2 X Window System概念display:由键盘,鼠标和一个或多个屏幕组成的一个工作站screen:一个display可以有多个screen server-cli ...

  3. python 内置函数转list_python学习笔记11-python内置函数

    python学习笔记11-python内置函数 一.查看python的函数介绍: 二.python内置函数 1.abs获取绝对值: 通过python官网查看absabs(x) Return the a ...

  4. linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记

    SHELL编程一UNIX和Shell工具简介 什么是shell? shell只是一个程序,它在系统中没有特权.因此,有多个不同风格shell共同存在原因--Bourne Shell,Korn Shel ...

  5. sql md5函数_【学习笔记】常见漏洞:SQL注入的利用与防御

    第   21 课   SQL注入的利用与防御 课程入口(付费) 个人背景 李,本科,电子信息工程专业,毕业一年半,有JavaScript的,PHP,Python的语言基础,目前自学网络安全中. SQL ...

  6. r语言regexpr函数_R语言学习笔记-文本挖掘之字符处理(1)

    在挖掘分析的过程当中对字符串的处理是极为重要的,且出现也较为频繁,R语言作为当前最为流行的开源数据分析和可视化平台,虽然文本的处理并不是它的强项, 但是R语言还是包含大量的字符串操作工具,本章着重整理 ...

  7. Java中执行存储过程和函数(web基础学习笔记十四)

    一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableS ...

  8. python生成器函数(generator),python3学习笔记:生成器generator

    简单了解下生成器generator,主要是yield的返回值和send的传参,记录下. 生成器的基本属性 generator = 函数 + yield 简单说,就是一个函数,里面用到了关键字yield ...

  9. matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...

    如何打开simulink: 启动simulink: 先打开MATLAB软件界面 第一步打开simulink 第二步在command windows输入 simulink然后enter,等待 有很多模块 ...

最新文章

  1. C语言中文件的读写(fputc和fgetc)(putchar和getchar)
  2. poi 合并单元格_POI数据获取脚本分享
  3. python和excel的区别-Python与Excel 不得不说的事情
  4. POJ 2485-Highways
  5. 翻看雷军近10年演讲、采访,我们整理出70条干货
  6. SpringBootSpring --- Redis 集成 Error creating bean with name 'enableRedisKeyspaceNotificationsIniti
  7. Android之用jadx进行反编译
  8. 15 岁黑进系统,发挑衅邮件意外获 Offer,不惑之年捐出全部财产,Twitter CEO 太牛了!...
  9. canvas width/height和style.width/style.height
  10. 教你怎么用三种办法找到发给你QQ的坦白说的那个人
  11. 【mcuclub】温度传感器DS18B20
  12. php-screw 安装,liunx 下安装 php_screw 扩展 以及报错处理
  13. 业务架构师应该做些什么?
  14. Mongo数据库简介
  15. 博弈论在自动驾驶方向的应用(Ⅰ):变道决策的综述
  16. 周杰伦讲给快手的“独家秘密”
  17. My QQ Show
  18. android+浏览器+主页,android 更改浏览器默认主页
  19. css圆环进度条的几种方法
  20. 手机服务器缓存在什么位置,手机服务器缓存设置方法

热门文章

  1. C++学习笔记12:编程练习二
  2. (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航...
  3. Win10开机登陆后黑屏,只有鼠标
  4. 打印机没有反应计算机管理,电脑重启后打印机驱动无反应怎么办
  5. python 合并word文件_使用python docx合并word文档
  6. 开发类 - DeepIn 安装 IDEA 并集成 Tomcat
  7. 21天学习挑战赛之Java网络编程(二)
  8. 创意竖版产品发布会快闪PPT,等你来拿!
  9. hdmi怎么支持2k分辨率_HDMI更新了!HDMI线用户忍受了一年的问题,终于能解决了...
  10. vs2019运行程序提示 程序无法正常启动(0xc000007b)解决方案