一、oracle介绍
1. ORACLE 数据库系统是美国ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S体系结构的数据库之一。
2.oracle体系结构
1)数据库
Oracle 数据库是数据的物理存储。这就包括(数据文件ORA或者 DBF、控制文件、联机日志、参数文件);
2)实例
一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有 n 个实例。
3)用户
用户是在实例下建立的。不同实例可以建相同名字的用户。
4)表空间
* 表空间是 Oracle 对物理数据库上相关数据文件(ORA或者 DBF 文件)的逻辑映射,每个数据库至少有一个表空间(称之为system表空间)
* 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
5)数据文件
数据文件是数据库物理存储单位。
注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
二、 创建表空间
一个数据库下可以建立多个表空间,一个表空间可以建立多个用户、一个用户下可以建立多个表。
--创建表空间 create tablespace zhi datafile 'c:zhi.dbf' -- 初始大小 size 100m --自动扩展 autoextend on next 10m; --删除表空间 drop tablespace zhi;
三、用户
1.创建用户
--创建用户 create user zhi --用户密码 identified by zhi --指定表空间名称 default tablespace zhi;
注:oracle 数据库与其它数据库产品的区别在于,表和其它的数据库对象都是存储在用户下的。
2.用户授权
1)Oracle中已经存在的三个重要的角色;
(1)connect角色:授予用户典型权力,最基本的
(2)resource角色:是授予开发人员
(3)DBA角色:拥有全部特权,是系统最高权限,只有dba才可以创建数据库结构,并且系统权限也需要DBA授出,且 DBA用户可以操作全体用户的任意基表,包括删除
--给用户授权 grant dba to zhi;
3.Oralce数据类型
4.表的管理
--创建person表 create table person( pid number(20), pname varchar2(10) ); --修改表结构,添加一列 alter table person add gender number(1); --修改列类型 alter table person modify gender char(1); --修改列名称 alter table person rename column gender to sex; --删除列 alter table person drop column sex; --删除表结构 drop table person; --删除表再创建表,效果等同于delete --在数据量大的情况下,尤其在表中带有所有时,效率高 truncate table person
4.1.数据库的更新操作
--数据查询 select * from person; --插入 insert into person(pid,pname) values(1,'小明') commit; --修改 update person set pname='小红' where pid=2; commit; --删除 --删除表中所有记录 delete from person where pid=2;
注: oracle 的事务对数据库的变更的处理,我们必须手动提交事务和事务进行回滚;提交:commit,回滚:rollback
5.序列
默认从1开始,一次递增,主要用来给主键赋值使用。
--序列不属于任何一张表,但可以逻辑和表做绑定 --序列:默认从一开始递增 --dual:虚表,只为补全语法,无任何意义 --创建一个序列 create sequence s_person; select s_person.nextval from dual;
insert into person values(sperson.nextval,'小张');
6.Scott用户
1)Scott用户:是Oracle数据库自带的用户,可以帮助我们学习表的操作。
用户名:scott 密码:默认为tiger
2) 刚安装号数据库,scott用户是默认锁定不会能使用,在使用之前必须解锁
--解锁scott用户 alter user scott account unlock; --解锁密码 alter user scott identified by tiger;