Oracle基础

一、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;

          

          

 

         

             

原文地址:https://www.cnblogs.com/cqyp/p/12627382.html