0 常见对象有:
对象 | 描述 |
表 | 基本存储单位 |
视图 | 在表基础上抽取出逻辑相关的数据集合 |
序列 | 提供有规律的数值 |
索引 | 提供高效的查询 |
同义词 | 给对象起别名 |
1 表字段类型
数据类型 | 描述 |
char(size) | 定长字符 |
varchar2(size) | 可变长字符 |
clob | 字符数据,最大可4G |
BLOB | 二进制数据,最大可4G |
number(n) | 可变长数值类型 |
long | 可变长字符数据,最大可2G |
rowid | 行地址 |
bfile | 存储外部文件的二进制数据,最大可4G |
date | 日期 |
eg: create table testsavepoint (tid number,tname varchar2(20));
2 DDL语句:
1 参考原来表结构的基础上创建新表,同是将原表部分数据赋值到新表中:
create table emp20
as
select * from emp where deptno=20; (创建表的同时将部门号为20的记录赋值到新表emp20中)
如果仅仅是创建表,写成如下:
create table emp20
as
select * from emp where 1=2;
2 修改表: (追加新列 修改列 删除列 重名列)
2.0 create table test1(tid number,tname varchar2(20),hiredate date);
2.1 alter table test1 add image blob;
2.2 alter table test1 modify tname varchar2(40);
2.3 alter table test1 drop column image;
2.4 alter table test1 rename column tname to username;
3 删除表:
drop table test1;
3 约束(表级别的限制,关键词constraint,可以不加此关键词)
约束类型:
a) not null
b) unique
c) primary key
d) foreign key
e) check
检查性约束:
create table test2
(tid number,
tname varchar2(20),
gender varchar2(4) check (gender in ('男','女')),
sal number check (sal > 0)
);
外键约束几个关键字:
a) foreign key: 在子表中定义了一个表级的约束
b) references: 指定表和父表的列
c) on delete cascade: 当删除父表时,级联删除子表记录
d) on delete set null: 当删除父表时,将子表的相关记录外键值为null
eg: 见下面创建表的同时创建约束并给约束赋值,最后一行就是设置外键约束写法
create table myperson
(pid varchar2(18) constraint myperson_PK primary key,
pname varchar2(40) constraint myperson_Name_notnull not null,
gender varchar2(4) constraint myperson_Gender check (gender in ('男','女')),
email varchar2(40) constraint myperson_Email_unique unique
constraint myperson_Email_notnull not null,
deptno number constraint myperson_FK references dept(deptno) ON DELETE CASCADE
); 创建表myperson字段deptno ,给这个字段增加外键约束myperson_FK,关联父表dept字段deptno,并当
删除父表时,级联删除子表myperson记录。
4 视图
a) 视图是一张续虚表
b) 建立在已有表的基础上的一种封装查询
c) 仅仅是提供数据展示的一种形式而已,对于开发人员而言,就是带有业务功能的select查询的预定义,终极目的是为了简化查询而生(这个简化是相对于开发人员而言,对于oracle而言是一点简化都没有)
d) 只能创建/删除/替换, 如果修改的话,就相当于替换
e) 非常不建议通过视图对表的数据进行 插入/修改/删除
f) 建议创建视图时候就增加上 read only
创建视图和快捷创建表写法类似,如下
create view empview
as
select e.empno,e.ename,e.sal,e.sal*12 annlsal,d.dname
from emp e,dept d
where e.deptno=d.deptno with read only;
创建好了后,直接执行: select * from empview; 实际上就是让oracle根据视图名称 empview去执行
视图名称对应的 那一大堆select查询,仅仅是让操作人员操作起来少些一些代码而已(类似于一个预定义功能,或者理解为面向对象的封装)
5 序列:(产生唯一数值的数据库对象,多用于生成主键)
序列就是数组,并被装载在内存中。
两个属性:
a) nextval---> 返回序列中下一个有效的数值,任何用户都可以引用
b) currval---> 存放序列的当前值
序列初始化后,当前值是指向第一个数值之前的那个位置(类似于游标),因此第一个数值
创建: create sequence myseq;
得到序列的第一个数值:
错误写法:
select myseq.currval from dual *
第 1 行出现错误:
ORA-08002: 序列 MYSEQ.CURRVAL 尚未在此会话中定义
正确写法:
select myseq.nextval from dual;
1 |
使用序列作为主键向表中插入数值:
create table tableA(tid number,tname varchar2(20));
insert into tableA values(myseq.nextval,'aaa' );
如果你创建的序列作为所有表的主键来共同使用,那么每个表的主键必定会造成不连续结果,
tableA 1
tableA 2
tableB 3
tableA 4
因此在开发中,每个表对应一个此表专有的序列对象。
序列修改后,只会影响将来的值,已经被使用的数值不会改变。
alter sequence xxx increment by xx maxvalue xxx;
删除序列: drop sequence xxx;
6 索引(和表记录的关系类似于 字典目录和字典里面详细内容)
如果针对创建索引的列字段经常被更新(eg:sal) 那么不建议创建索引,否则 数据库经常维护这个索引表,效率也不会提高到多少。
创建索引:
create index myindex on emp(deptno);
create index myindex on emp(deptno,ename);
删除索引:
drop index myindex ;
相关推荐
1. **Oracle基础知识**:包括Oracle数据库架构、表空间与数据文件、控制文件、重做日志、实例与服务等基本概念。 2. **安装与配置**:介绍如何在各种操作系统上安装Oracle数据库软件,以及配置数据库实例和网络环境...
本文将深入探讨Oracle基础知识,包括其架构、安装、数据类型、SQL语句、表空间管理以及备份与恢复策略。 一、Oracle数据库架构 Oracle数据库采用客户/服务器(Client/Server)模式,由多个组件构成。主要包括数据库...
### Oracle基础知识总结初学者必备 Oracle数据库作为一款广泛使用的数据库管理系统,在企业和开发领域扮演着重要的角色。对于初学者而言,掌握其基础知识是非常必要的。本文将根据提供的内容进行深入解析,并结合...
首先,Oracle 11g的基础知识包括数据库体系结构,它主要由实例和数据库两部分构成。实例是运行在操作系统上的内存结构和后台进程,而数据库则是存储在磁盘上的物理文件集合,如数据文件、控制文件、重做日志文件等。...
"Oracle基础知识"涵盖了SQL语言的基本概念以及Oracle 10G版本的相关特性。以下将详细介绍这些知识点。 首先,SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言。SQL基础包括以下几个部分...
### Oracle DBA基础知识 #### 一、Oracle体系结构 ##### 1.1 Oracle Server Oracle Server 是Oracle数据库的核心组件,负责处理用户请求并提供数据库服务。它由两大部分组成:系统全局区(SGA)和程序全局区(PGA)。...
"Oracle10gr2_ concept中英文对照" 提供了这个版本的核心概念的双语对照,帮助用户更好地理解和学习 Oracle 数据库的基础知识。 在 Oracle 10g 中,“Concepts”文档是入门教程的一部分,它详尽地解释了数据库系统...
7. Web安全:包括认证、授权、CSRF防护、XSS防护等,面试者应了解常见的Web安全问题和解决方案。 在“就业面试题库(数据库).pdf”中,你将找到更多关于这两个领域的具体面试题目和解答,涵盖上述知识点,帮助你更...
Oracle基础培训涵盖了数据库管理系统Oracle的基础知识,包括使用DDL(Data Definition Language)、DML(Data Manipulation Language)、PL/SQL编程语言以及PROC*C的基础概念。以下是对这些内容的详细阐述: 1. ...
总之,Oracle基础知识涵盖了SQL语言的使用、数据库对象的操作、时间处理等多个方面。理解并掌握这些内容,对于日常的数据库管理和开发工作至关重要。通过深入学习和实践,你可以更有效地管理和利用Oracle数据库,...
7. 实战案例:通过提供的实例,实践在VC环境中使用ADO进行数据库操作,加深对理论知识的理解。 通过这个压缩包,开发者不仅可以学习到ADO的基本用法,还能掌握在实际项目中如何高效地使用ADO进行数据库操作,这对于...
本资源包包含了丰富的Oracle SQL相关知识,包括基本的SQL语句、函数以及一些实用案例,旨在帮助Oracle基础较弱的学习者快速提升技能。 在Oracle SQL中,函数是用来处理数据的预定义操作。以下是一些常见的Oracle ...
Oracle 基础知识点总览 Oracle 基础知识点可以概括为以下几个方面: 1. Oracle 概述 Oracle 是一种对象关系数据库管理系统(ORDBMS),它提供了关系数据库系统和面向对象数据库系统这二者的功能。Oracle 数据库...
在Oracle数据库管理中,了解如何查看系统对象是至关重要的,因为这些对象构成了数据库的基础结构,包括表、视图、索引、存储过程、触发器等。系统对象通常由Oracle数据库自身或者管理员创建,用于实现数据库功能和...
通过阅读《Oracle傻瓜手册v2.0》,初学者可以全面了解Oracle数据库的基础知识,并逐步掌握实际操作技能,为后续深入学习和职业发展奠定坚实基础。尽管手册以“傻瓜”命名,但它覆盖的内容却是深入且实用的,对于希望...
本篇文档旨在介绍Oracle性能调优的基础知识和方法论,特别适合初学者入门学习。 #### 二、Oracle性能调优的主要领域 Oracle性能调优主要涉及以下几个方面: 1. **应用层调优**: - **SQL语句性能优化**:针对...
最后,本书还可能涵盖了数据库安全性、性能监控、SQL优化、数据库设计原则等多个方面,这些都是Oracle数据库管理员和开发人员需要掌握的关键知识。 总的来说,《Thomas Kyte-Expert Oracle Database Architecture》...
Oracle基础知识详解 Oracle数据库是甲骨文公司推出的一款关系型数据库管理系统,被广泛应用于企业级应用、数据分析和事务处理等领域。以下将从Oracle对象、表的创建与操作、SQL语句以及事务处理等方面,深入解析...
本文将基于"Oracle基础资料"这一主题,结合提供的压缩包文件"Oracle8i_9i数据库基础.doc",深入探讨Oracle数据库的基础知识,包括其核心概念、数据类型、SQL语句、表的创建以及备份恢复策略。 首先,Oracle数据库的...
根据提供的文档信息,以下是从标题、描述以及部分文档内容中提炼出的相关Oracle数据库的基础知识点。 ### Oracle数据库基础知识 #### 1.1 产品概述 **1.1.1 产品简介** Oracle数据库是由美国甲骨文公司开发的一...