你的位置:首页 > 数据库

[数据库]Oracle数据库入门第一课

 十天学会Oracle数据库(Day1)


 

今日目标:

  1.  Oracle了解(不重要)
  2. Oracle安装与卸载(重要)
  3. 简单查询(重要)
  4. 限定查询(重要)

开始写本篇blog时间:2016-08-29——15:42:19



 

一:Oracle了解 

  • Oracle公司简介

    Oracle是世界最大的软件,操作系统,编程语言,数据库供应商之一(还有微软),但是Oracle数据库起源于IBM的一篇论文——《论关系型数据库》。由此论文编写除了Oracle数据库。Oracle数据库在希腊文里是“神喻”,在中国翻译为甲骨文。

    Oacle创始人:

      

    最右边是CEO:叫Scotte,梦想就是财富超过比尔盖茨。但是开发者是左二,后来离开了Oracle,创办了PointBase数据库,但是后来又被Oracle收购了(笑)。目前世界上一共有1000多种数据库,不可能全部掌握。

    Oracle除了推广数据库之外,还提供CRM,ERP等系统。但是这些系统都非常贵。后来收购了Sun公司,取得了编程语言的领导地位,后来又提供了云服务。云服务主要靠硬件支持。


二:安装Oracle数据库

    5G左右空间,了解一些版本

      Oracle8i(i 表示向Internet发展)

      Oracle9i(8i的稳定版,也是现在见到最多的版本 3CD)

      Oracle 10g(基于网格计算——更为高效的网络查找方案 1CD)

      Oracle 11g(Oracle 10g稳定版 2G大小)————现在使用的主要版本

      Oracle12C(C表示云计算)————初期学习非常麻烦

      

      使用是免费的。

      时间——16:31:32(等待下载,并且做运动)。

    软件本身只是一个平台

      超级管理员:sys/change_on_install

      普通管理员:system/manager

      普通用户:scott/tiger(需要解锁)

      大数据用户:sh/sh      

  • SQLPlus的最基本的命令
      • 显示格式化操作:SET LINESIZE 300;设置每行显示长度,SET PAGESIZE 30;设置业显示行数
      • 调用记事本:往往会调用本机的记事本程序  “ed 文件名称”  ,默认后缀名是.sql。用"@文件名“执行程序,后缀名是sql可以不写后缀名。如果后缀不是sql,必须输入完整路径。*.sql是数据库脚本文件
      • 切换用户:切换为SYS登录——:CONN 用户名/密码 AS SYSDBA;切换为scott登录——CONN scott/tiger;

三:简单查询      

  •  掌握主要数据表
    • 传统的数据库中以数据表作为主要的存储单元
    • scott用户中存在4张主要的数据表
      • 命令以:查询用户中所有的数据表 select *from tab;scott用户中主要有4张表——DEPT;BONUS;EMP;SALGRADE.
        • 表结构:DEPT(desc dept)
        • select * from dept;
        • emp表:雇员信息表      
        • DEPT表:部门信息表
        • 工资等级表:SALGRADE
        • 工资表:BONUS

  •  SQL是一种结构查询语言,SQL是历史发展的产物,而且非常有可能被延续下去的,但是有一部分人认为基于行、列的数据存储方式,所以出现了NOSQL(MongoDB,Node JS)采用文档的方式进行存储。
      •     DML:数据控制语言
      •     DDL:数据定义语言
      •     DCL:数据控制语言


简单查询:

  对于查询,一共分为以下几种,简单查询,多表查询,限定查询,统计查询四类。其中简单查询是基础。

  简单查询的语法如下

  1. select [DISTINCT] *|列【别名】 form 表【别名】;用户可以通过控制SELECT来控制显示的内容,要控制要显示的数据列,还要控制数据来源;
  2. select EMPNO,ENAME,EJOB,SAL from emp;
  3. select 子句之中也可以进行各种数学运算,查询每个雇员的编号,姓名,基本年薪
  4. 可以用空格+别名改变查询的内容显示方式;
  5. 可以使用加减乘除;
  6. 可以使用关键字DISTINCT消除重复行;
  7. 以上操作数SQL的基本操作,在Oracle中增加了||进行连接,就是两列数据合并成一列数据。
  8. 字符串的数据库表示应该使用单引号‘  ’加上||可以用字符串修饰


限定查询

用where字句控制行

  1. 关系运算符(<>或者!=都表示不等于)
  2. 逻辑运算符(AND,OR,BETWEEN...AND...)
  3. 范围运算符(IN,LIKE,NULL)
  • 关系运算符
      • 查询基本工资高于2000 select * from emp where sal<=2000;
      • 查询姓名是Simth的雇员信息 select * from empwhere ENAME=Simth;
  • 逻辑运算符
      • AND 条件:查询出销售人员并且工资高于1200的所有雇员。SELECT * FROM EMP WHERE SAL>1200 AND job='sal';
      • OR条件:查询工资高于3000或者职位是办事员的雇员。SELECT * from emp where sal>3000 OR job='CLERK';
      • BETWEEN......AND...:不区分数据类型,可以判断字符串,日期等
      • 空判断:NULL是一种特殊的数值,在标准的解释上,空表示一种不确定的内容。
  • 范围运算符
      • IN操作符:字段IN(数值,数值......):SELECT *FROM emp WHERE EMPNO IN(7377,7366,7123,8123);如果在IN之中使用NULL,可能会出现问题,展示先不考虑NULL;
      • LIKE操作符:LIKE字句可以实现数据库中的模糊数据查询。“_”匹配一个关键字符,“%”百分号代表0个,一个,或者任意个的关键字字符。LIKE可以针对各种数据类型实现判断。这一特性可以帮我们节约一些代码。