Oracle简介

安装过程网上有 可以搜索

Oracle的集群

Oracle体系介绍

开启oracle需要在服务中开启OracleService。。。和Listeer的服务 前者是主服务 后者是使用网络连接的服务


基本查询

SQL> --清屏
SQL> host cls
SQL> /*host +命令 相当于不是在oracle执行的命令而是在客户机上执行的命令*/
SQL> --查看当前用户
SQL> show user
USER 为 "SCOTT"
SQL> 
SQL> 
SQL> --当前用户下的表
SQL> select * from tab;

SQL> -- tab数据字典(管理员提供的表)
SQL> desc emp

SQL> --查询所有员工的所有信息
SQL> select * from emp;


SQL> --设置行宽
SQL> set linesize 120
SQL> --设置列宽
SQL> col ename for a8
SQL> col sal for 9999

SQL> --/代表执行缓存区中的上一条select语句   
SQL> /   


SQL> --通过列名查询
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno
  2  from emp;
  
SQL> /*
SQL> SQL优化:
SQL> 1. 尽量使用列名代替*
SQL>       Oracle 9i之后,可以*的速度和列名的速度基本一样
SQL> */
SQL>  -------------------------------------------------------
SQL>--以下讲解如果在sqlplus中输入错的命令   默认系统的光标是在上一条select命令的第一行
SQL>--如果第二行出现错误 我们可以先输入2  然后会调到错误的那一行  执行c命令更改
QL> --查询员工号 姓名 月薪
SQL> select empno,ename,sal
  2  fomr emp;
fomr emp
     *
第 2 行出现错误: 
ORA-00923: 未找到要求的 FROM 关键字 


SQL> --c命令  change
SQL> 2
  2* fomr emp
SQL> c /fomr/from
  2* from emp
SQL> /
SQL>----------/代表执行上一条select语句
下面的方式更简单修改错误   可以输入edit或者缩写 ed 修改上一条语句的错误
SQL> ed
已写入 file afiedt.buf

  1  select empno as "员工号",ename "姓名",sal 月薪,sal*12 年   薪
  2* from emp
SQL> /
select empno as "员工号",ename "姓名",sal 月薪,sal*12 年   薪
                                                           *
第 1 行出现错误: 
ORA-00923: 未找到要求的 FROM 关键字 


SQL> ed
已写入 file afiedt.buf

  1  select empno as "员工号",ename "姓名",sal 月薪,sal*12 "年   薪"
  2* from emp
SQL> /


SQL> --别名机制  可以使用as 如下 
SQL> select empno as "员工号" ename "员工姓名" sal 薪水  
SQL>--以上的区别在于as 可省略  ""也可省略  但是如果别名里面有特殊字符
SQL>-- 如空格和关键字 必须加上双引号   例 薪 水 和 薪select水 必须加上双引号

SQL> --算数表达式在select语句中的使用

SQL>  --查询员工号 姓名 月薪 年薪 年收入
SQL> select empno,ename,sal,sal*12 年薪,comm 奖金,sal*12+comm 年收入
  2  from emp;

  
     EMPNO ENAME      SAL       年薪       奖金     年收入                                                              
---------- -------- ----- ---------- ---------- ----------                                                              
      7369 SMITH      800       9600                                                                                    
      7499 ALLEN     1600      19200        300      19500                                                              
      7521 WARD      1250      15000        500      15500                                                              
      7566 JONES     2975      35700                                                                                    
      7654 MARTIN    1250      15000       1400      16400                                                              
      7698 BLAKE     2850      34200                                                                                    
      7782 CLARK     2450      29400                                                                                    
      7788 SCOTT     3000      36000                                                                                    
      7839 KING      5000      60000                                                                                    
      7844 TURNER    1500      18000          0      18000                                                              
      7876 ADAMS     1100      13200                                                                                    

     EMPNO ENAME      SAL       年薪       奖金     年收入                                                              
---------- -------- ----- ---------- ---------- ----------                                                              
      7900 JAMES      950      11400                                                                                    
      7902 FORD      3000      36000                                                                                    
      7934 MILLER    1300      15600                                                                                    

已选择14行。

SQL> /*
SQL> SQL中null值:
SQL> 1. 包含null的表达式都为null
SQL> 2. SQL中,null != null
SQL> */
SQL> ed
已写入 file afiedt.buf

  1  select empno,ename,sal,sal*12 年薪,comm 奖金,sal*12+nvl(comm,0) 年收入
  2* from emp
SQL> /

     EMPNO ENAME      SAL       年薪       奖金     年收入                                                              
---------- -------- ----- ---------- ---------- ----------                                                              
      7369 SMITH      800       9600                  9600                                                              
      7499 ALLEN     1600      19200        300      19500                                                              
      7521 WARD      1250      15000        500      15500                                                              
      7566 JONES     2975      35700                 35700                                                              
      7654 MARTIN    1250      15000       1400      16400                                                              
      7698 BLAKE     2850      34200                 34200                                                              
      7782 CLARK     2450      29400                 29400                                                              
      7788 SCOTT     3000      36000                 36000                                                              
      7839 KING      5000      60000                 60000                                                              
      7844 TURNER    1500      18000          0      18000                                                              
      7876 ADAMS     1100      13200                 13200                                                              

     EMPNO ENAME      SAL       年薪       奖金     年收入                                                              
---------- -------- ----- ---------- ---------- ----------                                                              
      7900 JAMES      950      11400                 11400                                                              
      7902 FORD      3000      36000                 36000                                                              
      7934 MILLER    1300      15600                 15600                                                              

已选择14行。
SQL>-- sql滤空函数nvl(a,b) 不为空结果为a 为空结果为b






SQL> --2. SQL中,null != null
SQL> --查询奖金为null的员工
SQL> select *
  2  from emp
  3  where comm=null;

未选定行

SQL> ed
已写入 file afiedt.buf

  1  select *
  2  from emp
  3* where comm is null
SQL> /

SQL> --DISTINCT 去掉重复的记录
SQL> select deptno from emp;
SQL> select DISTINCT deptno from emp;
SQL> select DISTINCT deptno,job from emp;
SQL> --DISTINCT作用于后面所有的列





SQL> --concat 连接字符串
SQL> select concat('Hello',' World') from emp;

SQL> select concat('Hello',' World') from dual;--傻表

SQL> --dual表: 伪表

SQL> --连接符
SQL> select 'Hello'||'  World' from dual;

'HELLO'||'WO                                                                                                            
------------                                                                                                            
Hello  World  
                              
SQL> --查询员工信息:  ****的薪水是****
SQL> select ename||'的薪水是'||sal  一列
  2  from emp;

ISQLPLUS是oracle用浏览器管理的工具

http://localhost:5506/isqlplus/需要开启服务  11之后 没有这个工具了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值