oracle数据库自学笔记(持续更新中……)

Posted 疯狂路亚人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库自学笔记(持续更新中……)相关的知识,希望对你有一定的参考价值。

  以前的项目都是使用mysql数据库开发的,如今进了新的公司,开始接触到了Oracle数据库,而自己以前没有接触过,就自己挤时间来学习一下。

一.关系型数据库的概念

  关系型数据理论由E.F.Codd博士在1970年提出;

  Codd制定了一个数据库产品成为关系型数据库所必备一系列相关标准;

  它是RDBMS(关系型数据库管理系统)的基础;

  关系型数据库需要包含下面三个方面:

    1.对象或关系的集合;

    2.基于关系的操作集合;

    3.因数据精确性和一致性二带来的数据的完整性;

  关系型数据库是关系的集合或二维表的集合;

  每个表有行和列组成;

  可以通过Structured Query Language(SQL)来操作表中的数据;

  表中的每一行数据可以通过主键即Primary Key(PK)来唯一标识;

  表与表之间可通过外键即Foreign Key(FK)来关联;

  关系型数据库中的对象:

    1.表:存储的基本单元,有行和列组成;

    2.视图:从一个或多个表的数据自己的一逻辑表示

    3.序列:用来产生主键;

    4.索引:提高查询的速度;

    5.同义词:一个对象的别名;

    6.编程单元:包括过程、函数或包,以及PL/SQL中的声明。

二.ORACLE简介

  oracle是一个最大的数据库厂商提供的关系型数据库产品

  oracle的RDBMS也称为oracle服务器

    1.一个存储数据的地方;

    2.能快速的获得数据;

    3.数据库安全性;

    4.分布式的数据库;  

    5.客户端和服务器的配置;

  SQL——结构化的查询语言,通过它能以一种标准化的方法来对关系型数据库种的数据进行访问和操作。

  SQL*Plus——是最简单的数据库开发工具。它允许用户从提示行上以交互方式输入SQL语句和PL/SQL语句块。这些语句被直接发给数据库,而结果会返回到屏幕上。通常,SQL*Plus与oracle服务器集成在一起,是标准oracle安装的一部分。SQL/Plus是字符模式环境,window版本包括了需对GUI操作,主要用于连接数据库和设置SQL*Plus选项。

  PL/SQL——是用于从各种环境中访问oracle数据库的一种比较复杂的编程语言。它与数据库服务器集成在一起,也是标准数据库安装的一部分。

  SQL命令:

    1.取值语句:

      SELECT

    2.数据操作语句Data manipulation language(DML):

      INSERT  UPPDATE  DELETE

    3.数据定义语句Data definition language(DDL):

      CREATE  ALTER  DROP  RENAME  TRUNCATE

    4.事务控制语句Transaction control:

      COMMMIT  ROLLBACK  SAVEPIONT

    5.数据控制语句Data control language(DCL):

      GRANT  REVOKE

三.SELECT语句

  语法:SELECT [DISTINCT] {*,column [alias],......} FROM table;

    说明:

      1.SELECT 后面可以跟上列名、列别名、通配符;

      2.FROM 子句后面跟上要查找的表名;

      3.DISTINCT 查找不重复的记录

      4.SELECT语句可以写成一行或多行,不区分大小写;

      5.通配符*显示表中所有的列

select * from department;

 

      6.查询指定列时,SELECT语句中列与列之间用逗号分割

select d_id,d_name from department;

 

      7.查询出来的数值或日期可以进行加减乘除运算,如果某一项为NULL,那么运算结果也为NULL

select salary*12 from department;

          可以使用括号改变优先权,如:

select salary*12+100 from department;
和
select 12*(salary+100from department;

 

      8.采用NVL函数将NULL转换成某个值,如NVL(列名,‘字符串’)或NVL(列名,数值)

      9.列别名是可选的,一个列别名包含了空格、特殊字符、或者要区分大小写,那就要给它加上双引号

select last_name "Employees" from department;

四.排序和条件查询

  ORDER BY 子句:

    1.order by 子句在整个SQL语句最后;

    2.ORDER BY 后面可以是列名、列别名、表达式、列出现在SELECT关键词后的序号。

select name,salary from department order by salary;
等同于:
select name,salary from department order by 2;

 

    3.ORDER BY后面可以跟多列,先按第一列排序,如果第一列相同再以第二列排序,一次类推。。。

    4.ASC表示升序,是默认的,可以省略,DESC是降序排列;

    5.NULL永远是最大的。

  WHERE 子句:

    1.紧跟在from子句之后,对返回数据进行筛选

    2.条件由一个或多个表达式、比较符或字面值组成

    3.所有字符串和日期都要用单引号包起来,数字不需要

    4.日期在oracle数据库有特定形式,‘DD-MON-YY’(具体看日期显示格式),否则视作字符串

    5.WHERE子句的运算符:=等于、 >大于、 >=大于等于、 <小于、 <=小于等于、 !=不等于、 <>不等于、  BETWEEN...AND...包括起止值、 IN(list)限定内容、 LIKE模糊查询、 IS NULL为空(不能使用=null)、 NOT BETWEEN不在...之间、 NOT IN不再集合里、 NOT LIKE不包含、 IS NOT NULL不为空、 NOT、 AND、 OR;

    今天写累了,先写到这里,下次更新的时候,添加上ORACLE的函数。。。明天开始五一房间了,祝各位玩的开心。。。。。





以上是关于oracle数据库自学笔记(持续更新中……)的主要内容,如果未能解决你的问题,请参考以下文章

自学it18大数据笔记-第二阶段hadoop-day1——会持续更新……

自学it18大数据笔记-第二阶段hadoop-day5——会持续更新……

自学it18大数据笔记-第二阶段hadoop-day6——会持续更新……

自学it18大数据笔记-第二阶段hadoop-day7——会持续更新……

自学it18大数据笔记-第二阶段ProtoBuf-day1——会持续更新……

自学it18大数据笔记-第二阶段Hive-day1——会持续更新……