Oracle数据库知识整理

Oracle数据库知识整理

1.Oracle简介

Oracle服务器 : 是由Oracle实例和Oracle数据库组成。
Oracle数据库:磁盘上的物理文件的集合。
存放位置:
echo $ORACLE_HOME
C:\01_oracleinstall\BIN bin目录存放exe工具
C:\01_oracleinstall\LIB
C:\01_oracleinstall\oradata 存放用户数据
*.DBF文件 存放用户数据
Oracle集群:cluster Oracle 一个Oracle数据库可以被映射多个实例
Oracle实例:数据库实例是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例。

2.Oracle登陆

登陆:
普通用户登陆 :
sqlplus 用户名/密码 (例如scott/tiger) (Scott是Oracle服务器自带的教学数据库,我们可以在数据库中解锁使用,默认密码是tiger)
超级用户登陆:
sqlplus /nolog
connect /as sysdba //操作用户登陆方式

用户退出:qiut

操作:
查看登陆用户下有什么表

select * from tab; (tab是数据字典,tab是关键字)


select * from dept;(查询表的所有记录) (下面为结果,括弧内的不是显示结果)
   DEPTNO(部门编号) DNAME (部门名称 )       LOC (位置)
        ---------- -------------- -------------
                10 ACCOUNTING     NEW YORK
                20 RESEARCH       DALLAS
                30 SALES          CHICAGO
                40 OPERATIONS     BOSTON
desc dept (查询表结构)   名称             是否为空? 类型
------------ -------- ----------------------------
    DEPTNO               NOT      NULL NUMBER(2)
    DNAME                         VARCHAR2(14)
    LOC                           VARCHAR2(13)

为了美观我们可以进行如下设置:

set linesize 150 设置行宽
set pagesize 140 设置页大小      
select * from emp;(查询表的信息)
    SQL> select * from emp;

EMPNO ENAME  JOB   MGR HIREDATE   SAL   COMM DEPTNO
---- ------- ---- ----- ----- ------  ------  ----------                               
  7369 SMITH      CLERK           7902 17-12月-80            800                    20
                  7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
                  7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
                  7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
                  7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400       30
                  7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30
                  7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10
                  7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20
                  7839 KING       PRESIDENT            17-11月-81           5000                    10
                  7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30
                  7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20
                  7900 JAMES      CLERK           7698 03-12月-81            950                    30
                  7902 FORD       ANALYST         7566 03-12月-81           3000                    20
                  7934 MILLER     CLERK           7782 23-1月 -82           1300                    10   

清屏:
host cls

3.基本SQL SELECT语句

select * from emp;
(* 检索所有列 )
显示员工姓名 员工编号 工作 薪水 月薪 年薪

select aname,empno,job,sal,sal*12 from emp;

给列名起别名
可以省去” “或as,但是别名有空格时,不能省略“”
select ename as “员工姓名” , empno “编号”, job 工作, sal”月 薪” , sal*12 年薪 from emp;
注意别名”月 薪“有空格,所以要加入”“

select ename as "员工姓名" , empno "编号", job 工作, sal "月 薪" , sal*12  年薪 from emp

员工姓名         编号 工作           月 薪       年薪
---------- ---------- --------- ---------- ----------
                SMITH            7369 CLERK            800       9600
                ALLEN            7499 SALESMAN        1600      19200
                WARD             7521 SALESMAN        1250      15000
                JONES            7566 MANAGER         2975      35700
                MARTIN           7654 SALESMAN        1250      15000
                BLAKE            7698 MANAGER         2850      34200
                CLARK            7782 MANAGER         2450      29400
                SCOTT            7788 ANALYST         3000      36000
                KING             7839 PRESIDENT       5000      60000
                TURNER           7844 SALESMAN        1500      18000
                ADAMS            7876 CLERK           1100      13200
                JAMES            7900 CLERK            950      11400
                FORD             7902 ANALYST         3000      36000
                MILLER           7934 CLERK           1300      15600

查询奖金为空的员工

select * from emp
where comm is not null;

EMPNO ENAME JOB    MGR HIREDATE  SAL   COMM    DEPTNO
        -------- ---------- --------- ---------- -------------- ---------- ---------- ----------
            7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
            7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
            7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30
            7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30


select sysdate from dual;


                SYSDATE
                --------------
                07-10月-14
注释:dual是伪表,用来存放我们想要查看的一些数据.例如查看系统时间,需要一个表来存放才能查看,所以就有了伪表的存在.

DISTINCT关键字
1.去除所修饰的重复的行

select DISTINCT deotno from emp;


                    DEPTNO
                ----------
                        30
                        20
                        10

2.当DISTINCT修饰多个字段时,除非都多个字段相同 ,否则认为时重复的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值