zoukankan      html  css  js  c++  java
  • 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;

              

              

     

             

                 

  • 相关阅读:
    计算机网络--->6. 传输层(1)
    问题与解决方案
    现在的状态
    再议学习-一点新的感想
    再次剖析一下自己要做的事
    Not in a good mood.
    ASP.NET知识总结(7.状体保持)
    ASP.NET知识总结(6.一般处理程序动态处理图片(验证码、水印、缩略图))
    ASP.NET知识总结(5.文件上传 文件下载)
    ASP.NET知识总结(4.请求管道中的19个事件)
  • 原文地址:https://www.cnblogs.com/cqyp/p/12627382.html
Copyright © 2011-2022 走看看