本机安装成功后,访问链接: http://localhost:5560/isqlplus/
前提: 本机win7下安装oracle10g_32, 安装过程见
oracle 10g 安装 和 常遇到的错误 (http://chengjianxiaoxue.iteye.com/blog/2074281)
安装后仅限于学习个人学习oracle之用
0 oracle数据库和oracle实例的区别:
a) oracle服务器 = oracle数据库 + oracle实例
b) oracle数据库: 用于实际存放数据的文件,存储在硬盘中这些文件组织在一起形成的逻辑整体叫做数据库
c) oracle实例: 位于物理内存的数据结构中, = 一个共享内存池 + 多个后台进程组成
d) 用户存取数据库中的数据(硬盘文件),必须通过oracle实例操作。
e) 任何时刻,一个实例只能与一个数据库关联;大多数情况下,一个数据库上只有一个实例对其操作
1 表空间和数据文件:
a) 数据文件: 1) 用于存储物理数据; 2)后缀是 .dbf;
b) 表空间 : 是一个逻辑概念,表名称 eg: table user;
c) 一个user表可以有多个数据文件,eg: USER01.dbf, USER02.dbf; 是一对多的关系
2 本机安装oracle后,将开机自动启动修改成手动启动(如果安装后是为了学习之用,节省本机资源)
3 学习中需要操作的表:
4 基本指令:
1 显示当前用户: show user 结果: USER 为 "SCOTT"
2 显示当前用户的表: select * from tab; (区别于mysql的 show tables;)
DEPT | TABLE | |
EMP | TABLE | |
BONUS | TABLE | |
SALGRADE | TABLE |
3 显示表结构(和mysql写法一样) : desc emp;
EMPNO | NOT NULL | NUMBER(4) |
ENAME | VARCHAR2(10) | |
JOB | VARCHAR2(9) | |
MGR | NUMBER(4) | |
HIREDATE | DATE | |
SAL | NUMBER(7,2) | |
COMM | NUMBER(7,2) | |
DEPTNO | NUMBER(2) |
4 查询表数据: select columnname1, columnname2... from tablename (建议查询语句中用字段名称取代*,在oracle9i低版本的oracle查询时,使用*作为查询会耗费oracle判断时间,效率会降低)
5 sql语句中的null:
a) 包含null的表达式都为null
b) null != null
c) 如果集合中含有null,不能使用not in,可以使用 in
eg1: 查询emp表的年薪:
select empno, ename,sal, comm ,sal*12 + comm as 年薪 from emp; 结果会发现,在comm(奖金)为null时,年薪结果为null;
7369 | SMITH | 800 | ||
7499 | ALLEN | 1600 | 300 | 19500 |
7521 | WARD | 1250 | 500 | 15500 |
7566 | JONES | 2975 | ||
7654 | MARTIN | 1250 | 1400 | 16400 |
改进方式是使用 nal(a,b)函数
(NVL( string1, replace_with)。它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL)
select empno, ename,sal, comm ,sal*12 + nvl(comm,0) as 年薪 from emp;
7369 | SMITH | 800 | 9600 | |
7499 | ALLEN | 1600 | 300 | 19500 |
7521 | WARD | 1250 | 500 | 15500 |
7566 | JONES | 2975 | 35700 | |
7654 | MARTIN | 1250 | 1400 | 16400 |
eg2: 查询奖金为null的员工:
select empno, ename,sal from emp where comm is null; 不能用 = 和 !=,用 is null / is not null取代
eg3: select * from emp where deptno in (10,20,null);
6 字符串和日期 a) 这两者需要放在单引号内 b) 对于字符串,大小写敏感区分 c) 日期格式敏感,默认格式为 DD-MON-RR(日-月-年);
eg:
select empno, ename,sal from emp where ename = 'KINg'; 查询不到结果
select empno, ename,sal from emp where ename = 'KING'; 查询出结果
select empno, ename,sal from emp where hiredate = '17-11月-81'; 查询的出结果
7 查看系统默认日期类型
select sysdate from dual;
04-6月 -14 |
8 between and : 小值在前,大值在后。
9 in/not in(num1,num2...)
select * from emp where deptno not in (10,20);
10 like %代表多个长度, _代表一个长度
eg1: 查询名字是四个字的员工
select * from emp where ename like '____'; (要用单引号,引号内内容为4个_)
7521 | WARD | SALESMAN | 7698 | 22-2月 -81 | 1250 | 500 | 30 |
7839 | KING | PRESIDENT | 17-11月-81 | 5000 | 10 | ||
7902 | FORD | ANALYST | 7566 | 03-12月-81 | 3000 | 20 |
eg2: 查询名称中含有_的员工信息(取_字符本身,而不是取_在模糊查询的含义):
insert into emp(empno,ename,sal,deptno) values(1001,'Tom_ABCD',6000,10);
select * from emp where ename like '%\_%' escape '\';
1001 | Tom_ABCD | 6000 | 10 |
11 order by 后面+ 列名/表达式/别名
eg1: select ename, sal*12 as 年薪 from emp order by 年薪
eg2: select ename, deptno,sal*12 as 年薪 from emp order by deptno, sal; 先按照第一列排序,如果相同,再按照第二列排序,以此类推
eg: 降序排列时,如果有空值,如何将空值排在后面(按照人们的习惯来显示数据,office好用就在于按照人的使用习惯排列按钮让人去点)
select * from emp order by comm desc nulls last;
7654 | MARTIN | SALESMAN | 7698 | 28-9月 -81 | 1250 | 1400 | 30 |
7521 | WARD | SALESMAN | 7698 | 22-2月 -81 | 1250 | 500 | 30 |
7499 | ALLEN | SALESMAN | 7698 | 20-2月 -81 | 1600 | 300 | 30 |
7844 | TURNER | SALESMAN | 7698 | 08-9月 -81 | 1500 | 0 | 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 |
12 DISTINCT 排除重复,如果放在多个字段前,那么这多个字段是作为一个比较条件来进行排重
select DISTINCT deptno,job from emp;
20 | CLERK |
30 | SALESMAN |
20 | MANAGER |
30 | CLERK |
10 | PRESIDENT |
30 | MANAGER |
10 | CLERK |
10 | |
10 | MANAGER |
20 | ANALYST |
相关推荐
这个"oracle基础知识考试题_答案.zip"压缩包文件包含了关于Oracle数据库的基础知识学习材料,特别是针对初学者或者准备Oracle相关资格考试的人员。 首先,Oracle数据库的核心概念包括SQL(结构化查询语言)的使用,...
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性...
综上所述,"oracle_instantclient_19_3_windows_x64_19.3.zip"是一个针对64位Windows系统的Oracle数据库客户端工具,它提供了字符集兼容性增强,以及用于数据库连接、查询和管理的基础组件。正确配置和使用Oracle ...
这份文档"Oracle数据库基础知识_ISSUE1.0.doc"旨在介绍Oracle数据库的基础知识,帮助初学者理解和掌握Oracle数据库的核心概念。 课程说明部分可能包含课程的目标、教学方法以及相关资料的提供,为学习者提供了整体...
对于初学者来说,掌握Oracle基础知识是进入数据库领域的第一步。本文将深入浅出地介绍Oracle数据库的一些核心概念和基本操作,帮助你快速入门。 一、Oracle数据库系统概述 Oracle数据库是由美国Oracle公司开发的,...
以下是一些Oracle基础知识的详细解释: 1. SQL*Plus工具:这是Oracle数据库管理员(DBA)和开发人员常用的命令行界面,用于执行SQL查询和其他数据库操作。`set linesize` 和 `set pagesize` 用于调整输出的行宽和每...
学习和掌握Oracle ODT,开发者需要了解Oracle数据库的基本概念,如SQL语言、PL/SQL编程,以及Visual Studio的基础知识。此外,对于想要深入使用ODT的开发者,还需要熟悉Oracle的其他相关技术,比如Oracle Data ...
自学oracle时的笔记,oracle基础入门,常用函数,多表查询范例
本文将深入探讨Oracle基础知识,包括其架构、安装、数据类型、SQL语句、表空间管理以及备份与恢复策略。 一、Oracle数据库架构 Oracle数据库采用客户/服务器(Client/Server)模式,由多个组件构成。主要包括数据库...
Oracle 基础知识是学习 Oracle 的基础,它包括了 SQL 概述、数据库概念、表结构、SQL 分类、数据结构、查询语句等内容。 内容 -------- ### SQL 概述 SQL(Structured Query Language)是一种标准化的数据库...
本资料“oracle基础知识回顾与练习.zip”是针对Oracle数据库的基础知识进行整理,采用纯SQL语句的形式,适合初学者及需要巩固基础的用户进行学习和实践。 1. SQL基础 SQL(Structured Query Language)是用于管理...
Oracle DSI,全称为Oracle Data Services Infrastructure,是Oracle数据库系统中的一个重要组成部分,主要涉及数据服务的基础设施和性能优化。在11gR2版本中,Oracle对DSI进行了显著的改进,以提升整体数据库的性能...
`oracle_总结`标签提示,这份资料可能是对Oracle数据库使用和管理的关键知识点的汇总,可能包括表的创建、索引的使用、事务管理、视图的创建与应用、数据库备份与恢复策略等。数据库性能优化也是Oracle管理的重要...
本压缩包“ORACLE-select-query.rar”专注于讲解Oracle数据库中的查询技术,特别是多表查询、子查询以及高级子查询。下面将详细探讨这些关键知识点。 首先,基础查询SQL语句是所有数据库操作的基础,它涵盖了SELECT...
### Oracle基础知识总结初学者必备 Oracle数据库作为一款广泛使用的数据库管理系统,在企业和开发领域扮演着重要的角色。对于初学者而言,掌握其基础知识是非常必要的。本文将根据提供的内容进行深入解析,并结合...
这是我学习过程中整理的oracle数据库基础知识,里面包含了DML、DDL等相关语句。还解释了什么情况下该用什么样的SQL。包含了很多基础知识。欢迎大家收藏。
oracle基础知识考试题_答案借鉴.pdf
以下是一些关于Oracle PL/SQL的基础知识点: 1. **变量与数据类型**:PL/SQL支持多种数据类型,包括数值类型(如NUMBER)、字符类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)以及布尔类型(BOOLEAN)等。声明...