十天学会Oracle数据库(Day1)
今日目标:
- Oracle了解(不重要)
- Oracle安装与卸载(重要)
- 简单查询(重要)
- 限定查询(重要)
开始写本篇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表示云计算)————初期学习非常麻烦
使用是免费的:软件本身只是一个平台
超级管理员: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:数据控制语言
-
简单查询:
对于查询,一共分为以下几种,简单查询,多表查询,限定查询,统计查询四类。其中简单查询是基础。
简单查询的语法如下
- select [DISTINCT] *|列【别名】 form 表【别名】;用户可以通过控制SELECT来控制显示的内容,要控制要显示的数据列,还要控制数据来源;
- select EMPNO,ENAME,EJOB,SAL from emp;
- select 子句之中也可以进行各种数学运算,查询每个雇员的编号,姓名,基本年薪
- 可以用空格+别名改变查询的内容显示方式;
- 可以使用加减乘除;
- 可以使用关键字DISTINCT消除重复行;
- 以上操作数SQL的基本操作,在Oracle中增加了||进行连接,就是两列数据合并成一列数据。
- 字符串的数据库表示应该使用单引号‘ ’加上||可以用字符串修饰
限定查询
用where字句控制行
- 关系运算符(<>或者!=都表示不等于)
- 逻辑运算符(AND,OR,BETWEEN...AND...)
- 范围运算符(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可以针对各种数据类型实现判断。这一特性可以帮我们节约一些代码。
-