Oracle数据库知识整理

xiaoxiao2021-02-28  104

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修饰多个字段时,除非都多个字段相同 ,否则认为时重复的

转载请注明原文地址: https://www.6miu.com/read-51841.html

最新回复(0)