oracle学习笔记一:oracle的基本命令,oracle的运算符和升序降序学习。

文章目录

      • 1. oracle-10g学习笔记一:
        • 1.1. oracle实例化
        • 1.2. oracle的集群好处-RAC(real application cluster)
        • 1.3. oracle数据文件
        • 1.4. oracle两阶段提交
        • 1.5. oracle命令
        • 1.6. oracle基本命令
        • 1.7. oracle管理员账户
        • 1.8. oracle过滤语句
        • 1.9. oracle的日期格式与修改
        • 1.10. like组成的模糊查询
        • 1.11. oracle语句优化
        • 1.12. 逻辑运算符
        • 1.13. 升序和降序

1. oracle-10g学习笔记一:

1.1. oracle实例化

  1. 将oracle的orcl文件读入内存就叫实例化。
  2. 将多份重复的orcl文件读入内存就叫oracle的集群

1.2. oracle的集群好处-RAC(real application cluster)

  1. oracle的集群有两个好处
    • 负载均衡
    • 失败迁移
  2. 负载均衡
    • 当大量用户访问oracle时就会对实例的oracle产生很大压力,由于oracle大量集群,通过负载均衡的方法减小了压力
  3. 失败迁移
    • 当用户访问失败时由于有其他的oracle,会将操作命令转移到其他oracle实例。

1.3. oracle数据文件

  1. oracle数据文件
    • DBF
  2. oracle控制文件
    • ctl
  3. 日志文件
    • log
  4. 将上面三种文件读入内存就是数据库的一个实例

1.4. oracle两阶段提交

  1. 用户提交oracle之后,会先在oracle实例中存储,当commit时,再由oracle的SGA模块写入硬盘中的数据库。

oracle学习笔记一:oracle的基本命令,oracle的运算符和升序降序学习。_第1张图片

1.5. oracle命令

  1. 连接数据库
sqlplus scott/tiger
  1. 退出oracle
exit
  1. win10平台连接虚拟机上的oracle
    • 需要安装oracleinstanceClient客户端,这是oracle实例化客户端。
sqlplus scott/tiger@xxx.xxx.xxx.xxx:1521/orcl

1.6. oracle基本命令

  1. 查询当前用户
show user
  1. 查看当前用户下的表
show * from tab;
  1. 查看表的结构–和mysql一样
desc tabname;
  1. 清屏
host cls  -window系统
host clear  -linux系统
  1. 查看行宽
    • col是column简写
    • for是format简写
show linesize
set linesize 120 /*--设置行宽*/
col xxx字段名 for a8  /* 设置某个字段宽度,a表示一个字符长*/
col xxxx字段名 for 9999 /*设置数字类型的宽度,四位数字*/
/ /*表示返回上一句命令*/
  1. sql语句出错如何修改
    • 指定出错的行,例如2行,就按2
    • 用c修改出错语句例如修改select * form emp;
    • 1
      • c /form/from /c表示change/
    • / 执行。
  2. sql语句null原则
    • 包含null的表达式都为null
    • null永远!=null
    • 如果集合中有null ,就不能使用not in.
  3. 如果null为条件,不能使用=来判断,而是用is
    • 空值是无效的,未指定的,未知的或不可预知的。
    • 空值不是空值或者0
select * from emp where comm is null;

  1. 设置别名,有三种方式
    • 一种带as+引号别名
    • 一种是直接引号别名
    • 一种直接别名:不可以有空格
    • 首先先edit或者ed,会将上一句写入一个.buf的文件中。ed表示edit

oracle学习笔记一:oracle的基本命令,oracle的运算符和升序降序学习。_第2张图片

  1. distinct关键字,去掉重复的。
    • distinct 作用于后面所有的列,如果有多个列,只有在两条记录中查找的列完全相同才会去掉。
select distinct deptno from emp;

  1. oracle中的连接符关键字
    • || ,mysql中是concat()
    • 类似于java中的字符串拼接+
    • 字符串日期用单引号,双引号用于别名。
select concat('hello',' world') from emp

select 'hello'||' world' from emp;

select ename||'的薪水是'||sal 信息 from emp;

oracle学习笔记一:oracle的基本命令,oracle的运算符和升序降序学习。_第3张图片

  1. sql命令isqlplus和sqlplus命令的区别
    • isqlplus是sqlplus的网页版

oracle学习笔记一:oracle的基本命令,oracle的运算符和升序降序学习。_第4张图片

  1. spool命令
    • 是oracle提供的录屏功能。开启spool D:\xxx.txt
    • 关闭spool off

1.7. oracle管理员账户

  1. 用户名:sys
  2. 密码:安装时的口令

1.8. oracle过滤语句

  1. 使用where语句,不过where后面的字符串属于单引号包裹,并且大小写敏感。
  2. 日期和字符串是一样的都在单引号里面。

1.9. oracle的日期格式与修改

  1. 默认日期格式
    • DD-MM-RR,天-月-日
  2. oracle的日期格式的修改
    • 进入设置表
select * from v$nls_parameters;

alter session set NLS_DATE_FORMAT='yyyy-mm-dd';

  1. oracle的运算符
    • =等于不是==
    • >大于
    • <小于
    • >=大于等于
    • <>不等于或者!=
    • :=赋值使用
  2. 比较运算符的文字形式
    • between…and…在两个值之间,小值在前,大值在后。
    • in(set)等于列表中的一个,反过来not in
    • like模糊查询
    • is null 空值

1.10. like组成的模糊查询

  1. like组成的模糊查询,有两个标识符,一个是%表示什么都行。
  2. 另一个是占位符_表示占一个位。
  3. 如果要获取_的原本含义,就要使用转义字符
  4. 例如获取姓名中含有_的所有名字,就要先声明一个转义字符
  5. 声明转义字符用escape ’ '关键字。
  6. oracle自动开启事务,与mysql不同。
select * from emp where ename like '%\_%' escape '\';

1.11. oracle语句优化

  1. select * 最好写成select的字段。
  2. where语句中的解析顺序是从右往左。例如where a and b 最好将假的放在右边。
  3. 如果使用or,并或,最好将真的放在右边。

1.12. 逻辑运算符

  1. and 逻辑并,两个条件都要符合才行
  2. or 逻辑或,只要一个条件符合就行。
  3. not 逻辑否,两个条件都不符合才行。

1.13. 升序和降序

  1. 默认升序,
  2. order by xxx desc ;降序排列。
    • 可以写字段或者用序号代替。
    • 如果order by后面有两个字段,会先排序第一个,后排序第二个,desc只作用域离他最近的一个。
    • 空值在升序中放在最后面,降序中放在最上面。可以设置将空值放在最后。在oracle数据库中空值最大。
select empo ename sal sal*12 年薪 from emp order by 4 desc;
select empo ename sal sal*12 年薪 from emp order by 年薪 desc;
select * from emp order by comm desc nulls last;/* 将所有空值放在最后*/

你可能感兴趣的:(oracle学习笔记)