Oracle中基本命令与操作

Oracle概述

概念
数据:在数据库领域看来,数据是存储的基本单位,包含文本,图片,视频,音频
数据库:就是数据仓库,存储数据的地方,特指计算机设备中的硬盘,以二进制压缩文本的形式存放
该文件不能直接操作,必须由各数据库公司提供的工具方可操作,该文件的格式是每个数据库公司内部
定义的,不是统一规则
数据库对象:在Oracle中,例如:表,视图,索引,函数,过程,触发器。。。
关系型数据库:简单的说,以行列结构的形式,将数据库中的信息表示出来的对象,即二维表
常见流行的关系型数据库:Oracle&MySQL/Oracle–>DB2/IBM—>SQLServer/Microsoft–>

oracle数据库服务器:
(A)实例:理解为对象,看不见的,在内存中 orcl
(B)数据库:理解为类,看得见的
oracle服务器与orcl数据库的关系
一个oracle数据库服务器中包括多个数据库,例如:orcl,orm,oa,bbs,tax,erp等等
在E:\oracleDB\oradata\目录下,有多少个文件夹,就有多少个数据库,例如:orcl文件夹=orcl数据库
我们向数据库中存储的所有数据库,最终都会存放在对应库的*.DBF文件中,以二进制压缩形式存放
在oracle服务器中创建数据库:参见《在oracle服务器中创建数据库.JPG》
注意:我们在安装oracle时,已经创建好了一个数据库,默认名叫orcl,除非你当时改了数据库名字
sqlplus和sqldeveloper,orcl实例,orcl数据库之间的关系
sqlplus是oracle11g自带的一个客户端黑屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库
sqldeveloper是oracle11g自带的一个客户端彩屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库
如果你觉得这二款客户端工具不喜欢,可以上网下载第三方的客户端工具
理解失败转移和负载平衡概念
失败转移:一个群集中的某个oracle服务器坏掉,应该让该台oracle服务器上的用户转移到其它的几台oracle服务器上
这个过程对用户来说,无需知道
负载平衡:多个用户来并发访问时,集群内的oracle服务器共同承担用户并发访问的压力,但不一定是平均分配
上述二个概念,不光出现在数据库领域,也能出现在WEB服务器领域
以sys超级用户名,dba角色,即超级管理员身份解锁scott方案/用户,并为scott设置一个密码为tiger
解锁用户:alter user scott/hr account unlock;
设置密码:alter user scott/hr identified by tiger/lion;

超级管理员命令
sqlplus / as sysdba
声明:我们以普通用户的身份进入
**

SQL92/【99】标准的四大分类

**
(A)DML(数据操纵语言):select,insert,update,delete
(B)DDL(数据定义语言):create table,alter table,drop table,truncate table 。。。
(C)DCL(数据控制语言):grant 权限 to scott,revoke 权限 from scott 。。。
(D)TCL(事务控制语言):commit,rollback,rollback to savepoint

oracleSQL与SQL92/99的关系

    SQL92/99标准,访问任何关系型数据库的标准
oracleSQL语言,只访问Oracle数据库服务器的专用语言

基本命令

查询当前用户是谁 :show user
显示当前时间:select sysdate from dual;
清屏,属于SQL*PLUS工具中的命令:host cls;
查询emp表的结构:desc 表名
使用/杠,执行最近一次的SQL语句:/
设置显示的列宽(字符型varchar2、日期型date),10个宽度位,a表示字符型,大小写均可:

column ename format a12;
column hiredate format a10;

在CMD模式下对Oracle进行操作时对e’m’p表进行设置:

col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;   
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
set pagesize 20;
col tname for a20;
set pagesize 80;

设置显示的列宽(数值型number),9表示数字型,一个9表示一个数字位,四个9表示四个数字位,只能用9

column empno format 9999;
column mgr format 9999;
column sal format 9999;
column comm format 9999;
column deptno format 9999;

滤空函数
解决null的问题,使用NVL()函数,NVL(a,b):如果a是NULL,用b替代;如果a是非NULL,就不用b替代,直接返回a的值
注意:

1.使用列别名时,不加双引号的别名不能有空格;加了双引号的别名可以有空格
2.要加只能加双引号,不能加单引号,因为在oracle中单引号表示字符串类型或者是日期类型
列名不能使用单引号,因为oracle认为单引号是字符串型或日期型

SQL语句的特点

  1. 是SQL92/99的ANSI官方标准,只要按照该标准来写,在任何的关系型数据库中都可以直接执行
  2. SQL语句的关健字不能简写,例如:select,where,from
  3. 大小写不敏感,提倡大写
  4. 能够对表数据进行增删改查操作
  5. 必须以分号结束
  6. 通常称做语句

SQLPLUS命令的特点

  1. 是oracle自带的一款工具,在该工具中执行的命令叫SQLPLUS命令
  2. SQLPLUS工具的命令中的关健字可以简写,也可以不简写,例如:col ename for a10;
  3. 大小写不敏感,提倡大写
  4. 不能够对表数据进行增删改查操作,只能完成显示格式控制,例如:设置显示列宽,清屏,记录执行结果
  5. 可以不用分号结束,也可以用分号结束,个人提倡不管SQL或SQLPLUS,都以分号结束
  6. 通常称做命令,是SQLPLUS工具中的命令
  7. 注意:SQLPLUS命令是SQLPLUS工具中特有的语句:col ename for a12;

单引号出现的地方如下

数据类型

  1. 字符串型,例如:‘hello’ || ’ world’
  2. 日期型,例如’25-4月-15’

注意:

  1. 凡是精确查询用=符号
    凡是不精确查询用like符号,我们通常叫模糊查询
  2. null不能参数=运算
    null能参与number/date/varchar2类型运算
  3. 只有当sal相同的情况下,hiredate排序才有作用

函数

单行函数:
只有一个参数输入,只有一个结果输出
多行函数或分组函数:可有多个参数输入,只有一个结果输出
多行函数:
函数的参数是多行,返回一个结果
内连接查询:
只能查询出符合条件的记录
外连接查询:
既能查询出符合条件的记录,也能根据一方强行将另一个方查询出来
子查询:
一般一次性查询不了的sql,需要两次甚至多次查询能得到的结果就是子查询

集合

基本操作:
并集:union或着union all
交集:intersect
差集:minus

集合操作的细节

1.集合操作时必须保证级和列数是相等的
2.集合操作时必须保证集合列类型对应相等
3.当多个集合操作时,结果的列名由第一个集合列名决定
4.当多表查询,子查询,集合查询都能完成同样工作时,按照以下优化方案选择:单表查询–》多表查询–》子查询–》集合查询
5.集合之间的操作满足交换律

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值