索引

一、安装   卸载

一、安装

1、Oracle首先询问用户是否接受更新信息,一般选择不接受;
Oracle安装选项,需为其配置数据库,所以此处会询问是否创建安装数据库,选择是
系统类型,一般选择服务器类型;
网络安装选项,本次不牵涉Oracle的RAC管理(AIX+Oracl配置),选择单实例即可;
安装类型,选择高级安装配置(为了能方便进行配置);
数据库版本,选择企业版本(最全);
安装目录选择;
数据库名称定义为“mldn”
配置选择中,将字符编码设置为UTF-8,若此处没有设置,出现中文时又能会乱码,随后在示例方案,创建所有样本数据;
直到方案口令,为方面管理可将用户/密码统一设为“oracleadmin”(不符合oracle标准);
直接到先决条件检查,如果检查出错,直接选择忽略即可;
随后启动oracle的安装程序;
本次会自动实现数据库的创建,但每一个数据库需我们额外配置,随后使用口令管理程序,主要操作以下用户(设置经典口令)
·超级管理员:sys/change_on_install;
·普通管理员:system/manager;
·普通用户:scott/tiger,需解锁;
·大数据用户:(样本数据库才有):sh/sh,需解锁;
这时,oracle软件安装完成,数据库也安装完成。
但,安装完成后oracle相关服务自动设置为自动启动,建议设为手动启动,每次启动时只需启动两个服务即可:
·oracleoradb11_home1TNSListener:是监听服务
·oracleServiceMLDN:数据库的实例服务,他的命名标准:oracleServiceSID:(默认下SID名称与数据库名称一致,网络上使用的是SID的名称,每当新增数据库时,会自动增加该服务)

Oracle卸载,卸载后可能无法立即安装成功
Oracle正常安装完成的卸载:
·使用Oracle提供的卸载程序(Universal Installer)
·重启电脑进入安全模式(启动时按住F8)
·找到系统安装oracle对应的磁盘路径,并且删除(安全模式);
·运行注册表命令“regedit.exe”,搜索所有与oracle有关内容并删除;
·重启电脑就可以重新安装;

Oracle安装失败原因:
·重启电脑进入安全模式(启动时按住F8)
·找到系统安装oracle对应的磁盘路径,并且删除(安全模式);
·运行注册表命令“regedit.exe”,搜索所有与oracle有关内容并删除;
·重启电脑就可以重新安装;

Oracle的两个服务:
·如果通过程序链接,必须启动监听服务;
·所有的数据都保存在实例服务之中。

二、sqlpius命令

1、格式化命令:
(1)设置每行的长度:SEL LINESIZE 长度
(2)设置每页的长度:SEL PAGESIZE 长度
2、切换用户:
CONN 用户名/密码 [AS SYSDBA],如果是sys用户一定要写SYSDBA

CONN system/manager

CONN sys/change_on_install AS SYSDBA

3、调用本机命令:HOST作为前缀

三、sql和数据表分析

scott表结构

当前用户下所有表:SELECT * FROM tab;

查询一个表的结构:DESC 表名;

NUMBER(7,2);表示小数最多占2位,整数部分最多5位,

COL 列名  FOR A10;10为为列指定宽度,

四、基本查询

1、SELECT [DISTINCT] * | 列名称 [别名],列名称 [别名]... FROM 表名[别名];

2、表中的常量设置:

①如果是字符串,则使用“'”声明,例如'hello'

②如果是数字,则直接编写,如10;

③如果是日期,则应按照日期风格格式编写“xx日-xx月-xx年”

3、可以使用双||拼接字符串结果,

五、限定查询

1、关键运算符:

①关系运算符:>,<,>=,<=,<>,!=

②逻辑运算符:AND、OR、NOT

③范围运算符:BETWEEN。。。AND

④谓词范围:IN、NOT IN

⑤空判断:IS NULL,IS NOT NULL   NOT IN 不能和NULL同时出现,

⑥模糊查询:LIKE

“_”匹配一个字符,“%”匹配任意个字符,

0&NULL:卖0元和无价是不同的概念,

六、序列

1、Order BY

③SELECT *

①FROM T

②WHERE 过滤条件

④ORDER BY  字段【ASC|DESC】,字段【ASC|DESC】,字段【ASC|DESC】,

七、单行函数

dual是验证查询的虚拟表,

1、字符串函数

UPPER(),LOWER(),INITCAP(),LENGTH(),SUBSTR(),REPALCE(),

2、数值函数,

ROUND(列|数字【,小数位】),TRUNC(列|数字【,小数位】),MOD(列|数字,列|数字),

3、日期函数

SYSTEMDATE,ADD_MONTHS(列|日期),MONTHS_BETWEEN(列|日期,列|日期),LAST_DAY(列|日期),NEXT_DAY(列|日期)

4、转换函数

TO_CHAR(列|日期|数字,格式),

数字,9表示任意数字:,L表示本地货币符号,

TO_DATE(列|字符串,转换格式),TO_MEMBER(列|字符串,)

5、通用函数,

数字  NVL(列|NULL,默认值)

数值类型  DECODE(列|字符串|数值, 比较内容1,显示内容1,比较内容2,显示内容2,...【默认显示内容】)

八、多表查询

基本结构

③SELECT [DISTINCT] *|列 [别名],*|列 [别名]...

①FROM T [别名],T [别名]...

②WHERE 过滤条件(s)

④ORDER BY  字段【ASC|DESC】,字段【ASC|DESC】,字段【ASC|DESC】,

1、基本查询   分步骤实现

2、表的连接

①内连接(等值连接):所有满足条件的数据都会被显示出来,

只有符合WHEREW子句条件的才会显示出来,

②外连接(左外连接, 右外连接,全外连接):控制左表与右表的数据是否全部显示出来,

3、SQL1999

SELECT [DISTINCT] * | 列 [别名]

FROM 表名称1

[CROSS JOIN 表名称2]

[NATURAL JOIN 表名称2]

[JOIN 表名称 ON(条件) |  USING(字段)]

[LEFT | RIGHT | FULL OUTER JOIN 表名称2];

交叉连接:实现笛卡尔积

自然连接:自动通过关联字段消除笛卡尔积,一般关联字段是外键,但此处是以名称相同为主,内连接,

USING子句只在一张表有多个关联字段情况下,明确使用一个字段关联,

ON子句用来设置关联条件,

数据集合操作

UNION,连接,重复数据只显示一次,

UNION ALL,显示重复数据,

INTERSECT,返回交集部分,

MINUS,返回差集,第一个集合减第二个集合,

九、分组统计查询

1、统计函数

COUNT(),MAX(),MIN(),SUM(),AVG(),

2、分组 GROUP BY

①在未使用GROUP BY时,查询子句中只允许统计函数和查询字段中的一种,

②在使用GROUP BY子句时,查询子句中只允许出现分组字段和统计函数,

③统计函数允许嵌套查询,但嵌套后的统计查询中不允许再使用任何字段,

【⑤确定要使用的数据列】SELECT[DISTINCT]分组字段[别名],...|统计函数

【①确定要查找的数据源】FROM

[【②针对于数据行的筛选】WHERE过滤条件]

[【③针对于数据实现分组】GROUP BY 分组字段,分组字段,...]

[【④针对于分组后的数据进行筛选】HAVING分组后的过滤条件]

[【⑥针对于返回结果进行排序】ORDER BY 字段[ASC|DESC],...];

【WHERE&HAVING】

-WHERE发生GROUP BY之前,用于从数据源筛选数据,不允许使用统计函数,

-HAVING是发生在分组之后,用于对分组结果进一步筛选,可以使用统计函数,

十、子查询

1、可能的位置

①WHERE子句,返回单行单列,单行多列,多行单列,

②HAVING子句,返回单行单列,表示要使用统计函数,

③FROM子句,返回多行多列,

④SELECT子句,返回单行单列,

十一、数据更新

十二、事务处理

Oracle DB的更多相关文章

  1. 在silverlight中通过WCF连接ORACLE DB数据库(转)

    转自 http://hi.baidu.com/qianlihanse/item/458aa7c8d93d4e0cac092ff4 这不是我的原创,我也是上网学习的~ How to get data f ...

  2. Oracle DB 存储增强

    • 设置Automatic Storage Management (ASM)  快速镜像 再同步 • 使用ASM 首选镜像读取 • 了解可伸缩性和性能增强 • 设置ASM 磁盘组属性 • 使用SYSA ...

  3. goldengate 12c对oracle DB的改进

    1. 现在可使用Oracle Universal Installer,即安装时有图形化界面,同时会自动安装java runtime environment,不过个人认为,还是ZIP安装包方便,解压即用 ...

  4. Oracle DB 使用调度程序自动执行任务

    • 使用调度程序来简化管理任务 • 创建作业.程序和调度 • 监视作业执行 • 使用基于时间或基于事件的调度来执行调度程序作业 • 描述窗口.窗口组.作业类和使用者组的用途 • 使用电子邮件通知 • ...

  5. Oracle DB 管理数据库的空间

    • 描述4 KB 扇区磁盘的概念及使用 • 使用可移动表空间 • 描述可移动表空间的概念 数据库存储 数据库存储 数据库包括物理结构和逻辑结构.由于物理结构和逻辑结构是分开的,因此管理数据的物 理存储 ...

  6. Oracle DB 执行表空间时间点恢复

    • 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使 ...

  7. Oracle DB 备份和恢复的概念

    • 确定Oracle DB 中可能发生的故障类型 • 说明优化实例恢复的方法 • 说明检查点.重做日志文件和归档日志文件的重要性 • 配置快速恢复区 • 配置ARCHIVELOG模式   部分工作内容 ...

  8. 用户与 Oracle DB 交互具体过程

    与 Oracle DB 交互 以下的演示样例从最主要的层面描写叙述 Oracle DB 操作.该演示样例说明了一种 Oracle DB 配置,在该配置中,用户和关联server进程执行于通过网络连接的 ...

  9. 普通用户登录Oracle DB Control

    使用 sys 或者 system 用户登录 Oracle DB Control 是没有问题的. 但是,如果是普通的用户需要登录Oracle DB Control,建表或者视图之类的, 则需要授权 SE ...

  10. Test oracle db iops

    Today, i need to test one database's iops and do something for oracle db's io test. How to test the ...

随机推荐

  1. CentOS 7 安装 Redis

    1.Redis 下载地址:https://redis.io/download 2.上传到服务器指定文件夹 ,我这边传到了根目录下 /mysoft 这个目录下 解压  tar  -zxvf redis- ...

  2. dubbo源码之Directory与LoadBalance

    Directory: 集群目录服务Directory, 代表多个Invoker, 可以看成List<Invoker>,它的值可能是动态变化的比如注册中心推送变更.集群选择调用服务时通过目录 ...

  3. 【sqli-labs】Less17

    Less17: POST注入,UPDATE语句,有错误回显 新知识点: 1. update注入方法 参考:http://www.mamicode.com/info-detail-1665678.htm ...

  4. cf1076d 贪心最短路

    #include<bits/stdc++.h> #include<queue> using namespace std; #define maxn 300005 #define ...

  5. IDEA拷贝操作

    另外一种添加方式

  6. Navicat Premium 12.1.8.0安装与激活

    本文介绍Navicat Premium 12.1.8.0的安装.激活与基本使用. 博主所提供的激活文件理论支持Navicat Premium 12.0.x系列和Navicat Premium 12.1 ...

  7. IntelliJ Idea 配置Tomcat提示Port is not specified

    修改Debug这里的端口就好了

  8. javascript扩充基本类型的功能

    可以通过给Function.prototype增加方法来使得该方法对所有函数可用. 通过给Function.prototype增加一个method方法,下次给对象增加方法的时候就不必键入prototy ...

  9. zTree的使用教程

    1.首先去官网下载http://www.ztree.me/v3/main.php#_zTreeInfo 2.之后引入: <script src="js/jquery.ztree.all ...

  10. JS获取地址栏的参数值

    function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)( ...