(一)

1.表空间:实质是一种组织数据文件的途径,表空间包含表,字段,索引等,一个物理文件对应一个表空            间.

2.表空间分类:

   (1)目录表空间

   (2)常规表空间

   (3)系统表空间

   (4)用户临时表空间

   (5)undo表空间

3.创建表空间rb_segs:

   create tablespace rb_segs

   datafile '存储路径'

   size 50M

   autoextend on  --自动增长

   maxsize 1024M  --最大增长值

   Uniform size 64k; --区间大小

   

4.创建临时表空间temp;

create temporary tablespace temp

tempfile '存储路径'

size 50M;


5.修改表空间

(1)修改表空间为默认表空间

   alter user 用户名 default tablespace 表空间名;

(2)给表空间增加10MB;

   alter tablespace 表空间名 add datafile '路径' size 10MB;

(3)修改表空间的状态

   alter tablespace 表空间名 offline/online; --逻辑文件

   alter tablespace 表空间名 datafile offline/online; --物理文件

6.删除表空间及其所有的段:

   drop tablespace 表空间名 including contents;

7.数据字典:

   (1)dba_data_files:实例中所有数据文件和表空间的信息

   (2)dba_tablespaces:表空间的信息

   (3)dba_free_space:表空间的空闲空间信息

8.oracle数据类型

   (1).数字数据类型:number(p,s), p:精度,最大38位;  s:表示刻度范围

   (2).字符数据类型:

       [1].char(L),无值时,以空格填充,L为字符串,缺省为1,作为变量最大为32767个字符,在数据                    存储oracle8中最大为2000;

       [2]varchar2(L):无值时,不会用空格填充,L为字符串,无缺省值,作为变量最大为32767个字                    符,,在数据存储oracle8中最大为4000;

       [3]Long数据类型:可以保存高达2G的数据,作为变量,可以表示一个最大长度为32760字节的可                            变字符串.

   (3)date数据类型:用来存储日期和时间格式的数据

   (4)lob数据类型:数据类存储非结构化数据,如:二进制文件,图形文件,或其他外部问价,可以存储                        到4G字节大小

           [1]CLOB:字符型数据

           [2]BLOB:二进制数据

           [3]BFILE:二进制文件

9.DDL数据定义语言:用来改变数据库结构,包括创建,修改,删除数据库对象.

(1)数据库表是一个以行和列的形式存放数据的存储单元,用来定义表的数据定语言有:

   [1]create table 创建表

   [2]alter table 修改表

   [3]truncate table 截断表

   [4]drop table 删除表


10.DML数据操纵语言:用于检索,插入和修改数据库信息

(1)Select 检索

(2)insert 插入

(3)update 修改

(4)delete 删除


11.DCL数据控制语言:为用户提供权限控制命令

(1)grant 授权

(2)revoke 撤销


12.索引:[1]逻辑索引:

               (1)单列索引

               (2)组合索引

               (3)唯一性索引

               (4)非唯一性索引

               (5)函数索引

       [2]物理索引:

               (1)分区索引

               (2)飞分区索引

               (3)B树索引

               (4)正向索引

               (5)反向索引  reverse

               (6)位图索引  bitmap

13.创建索引:

   create [unique] index 索引名

   on 表名(列名1,列名2...)

   where 条件

   (1)例如:创建唯一索引

   create unique index 索引名 on 表(列名);

   (2)创建位图索引

   create bitmap index 索引名 on 表(列名);

14.修改索引:

(1)重建索引

   alter index 索引名 rebuild;

(2)合并索引

   alter index 索引名 coalesce;


15.删除索引

   drop index 索引名;


16.创建视图:视图是查询一个或多个表的select语句的描述(可以把视图看成一张虚拟表)

   create [or replace] view 视图名

   as

   select 语句...

17.删除视图:(具有drop view和drop any view权限的用户才能使用drop view删除视图)

   drop view 视图名;


18.同义词:

   (1)私有同义词(只能被当前模式的用户访问)

   (2)公有同义词(可以被所有的数据库用户访问)

19.创建同义词语法:

   create [or replace] [public] synonym 同义词名

   for 对象

       (1)例如:创建私有同义词

       create synonym myemp for scott.emp;

       使用:select * from myemp;

       (2)创建公有同义词

       create public synonym public_name for scott.emp;

       使用:select  * from public_name;


20.删除同义词:

   drop [public] synonym 同义词名;


21.序列是一数据库对象,利用它生成唯一的整数.

(1)创建序列:

       create sequence 序列名

       [increment by n]   --增量

       [start with n]     --起始值

       [maxvalue n | nomaxvalue] --最大值

       [minvalue n | nominvalue] --最小值

       [cycle]    --循环

       [cache n]; --缓存

22.使用序列:

   (1)currcal:返回序列当前的值

   (2)nextval:返回序列下一个值

   注意:(3)先执行nextval,在执行currval;

   

   例如:插入数据使用序列

   insert into employee(emp_id,emp_name) value(my_seq.nextval,'张三');

   查看当前的值:select my_seq.currval from dual;


23.更改序列:

   alter sequence 序列名

   [increment by n]   --增量

   [start with n]     --起始值

   [maxvalue n | nomaxvalue] --最大值

   [minvalue n | nominvalue] --最小值

   [cycle]    --循环

   [cache n]; --缓存


24.删除序列:

   drop sequence 序列名;