日期:2014-05-16  浏览次数:20466 次

ORACLE - 基本语法(转载)
                                                    ORACLE相关语法
一、Oracle入门
  理论知识:
    Oracle的物理组件有三个:
      (1)数据文件     数据文件是用于存储数据库数据的文件,如表、索引数据。每个Oracle数据库有一个或多个物理数据文件,
                      一个数据文件只能与一个数据库关联。
      (2)日志文件     用于记录对数据库进行的修改信息,日志文件主要用于在数据库出现故障时实施数据库恢复。
      (3)控制文件     控制文件是记录数据库物理结构的二进制文件,每个Oracle数据库都含有一个控制文件。
    Oracle的逻辑组件:
      表空间(TableSpace) 表空间是数据库最大的逻辑单位,一个数据库至少包含一个表空间,一个表空间包含一个或多个段等等。
      段(Segment)        段存在于表空间中,分成4类,数据段、索引段、回退段、临时段。             
      区(Extent)         区是磁盘空间分配最小单位,由连续的数据块组成,一个或多个区构成段,区只能存在于一个数据文件中。
      数据块(Data Block) 数据块是数据库中最小的数据组织单位与管理单位,Oracle数据库中的数据存储于数据块中,取值范围2K-64K之间。
      模式(schema)       模式是对用户所创建的数据库对象的总称,又称为用户模式。
  概念:
   内存 Oracle内存结构包含以下两个内存区。
    1、系统全局区(SGA) 实例启动时分配该内存区,是Oracle实例的一个基本组件。
        又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。可分为共享池、数据缓冲区及日志缓冲区。
       (1)共享池   是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。共享池由库缓存和数据字典缓存组成。其中,库缓存含有
              最近执行的SQL、PL/SQL语句的分析码和执行计划;数据字典缓存含有从数据字典中得到的表、索引、列定义和权限等信息。
      (2)数据缓冲区 数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。
      (3)日志缓冲区 日志记录数据库的所有修改信息,主要用于恢复数据。
    2、程序全局区(PGA)  服务器进程启动时分配该内存区。PGA为非共享区,只能单个进程使用,当一个用户会话结束后,PGA释放。
  用户进程(PGA)发送SQL语句到共享全局区(SGA),先在共享池的库缓存中查询是否存在所需的数据块,如果存在就在数据字典中读取相应的数据块,如
  果不存在就由服务器进程(DBWR)来IO数据库

 语法知识:
  创建表空间的语法如下:
    CREATE TABLESPACE tablespacename DATAFILE 'd:/filename.DBF' [SIZE int [KB|MB]] [AUTOEXTEND [OFF|ON]];
    tablespacename 是需创建的表空间名称。
    DATAFILE  指定组成表空间的一个或多个数据文件,当有多个数据文件时使用逗号分隔。
    filename  是表空间中数据文件的路径和名称。
    SIZE      指定文件的大小,用K指定千字节大小,用M指定兆字节大小。
    AUTOEXTEND子句用来启用或禁用数据文件的自动扩展。
  Oracle默认用户:
    用户名:sys       默认密码:chage_on_install   用来管理拥有Oracle数据字典文件
    用户名:system    默认密码:manager            用来管理拥有数据字典视图对象
    用户名:scott     默认密码:tiger              示例用户,包括emp、dept等表
  连接Oracle:   在控制台下输入 sqlplus 用户名/密码  回车或 sqlplusw 回车
  相关命令:
    disconn               //退出当前登录
    conn 用户名/密码      //连接Oracle
    alter user 用户名 identified by 密码 //修改用户口令
  drop user 用户名 cascade;            //删除用户
    alter user 用户名 account lock;      //给某个用户加锁
    alter user 用户名 account unlock;    //给某个用户解锁
    ed  回车:  //打开缓冲区
    /   回车:  //执行缓冲区中的语句
    c