ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE笔记(5)SQL 语言之DDL语句

ORACLE笔记(5)SQL 语言之DDL语句

原创 Linux操作系统 作者:sap-barrypan 时间:2009-03-24 12:59:57 0 删除 编辑

DDL  data definition  language

主要包括 CREATE , ALTER , DROP , TRUNCATE语句

 一,CREATE 语句:可以用来建表,索引,视图,同义词,过程,函数等。

(1)表的建立

     CREATE TABLE EMP (NAME  CHAR(8), DEPT  VARCHAR(4),  ID  INTEGER  CONSTRAINT  ID  PRIMARY KEY);

注意:

      1,创建表时尽量把较小的不为空的放在前面,有可能为空的放在后面

      2,可用CONSTRAINT条件子句定义一个单一字段名称或多重字段名称

(2)索引的建立:主要用CREATE INDEX 语句定义

     CREATE INDEX EMP_IND ON EMP (EMP_ID);  EMP_IND是索引名  EMP 表名  EMP_ID是字段名

CONSTRAINT   条件子句的功能与索引INDEX相似,尽管 CONSTRAINT还可以在表间建立关联性

CREATE TABLE EMP (NAME CHAR(8), DEPT  VARCHAR(4), BIRTHDAY  DATE,  CONSTRAINT  EMP  UNIQUE

( NAME , DEPT , BIRTHDAY ) );

建立一个新表,且由这三个字段建立唯一的一个索引

(3)视图的建立:视图是一个逻辑表,它允许操作者从其它表或视图存取数据,视图本身不包含数据,视图所基于的

表称为基表。

     引入视图的作用:

     1,提供附加的表安全级,限制存取基表的行或列集合

     2,隐藏数据复杂性

     3,为数据提供另一种观点

     4,促使ORACLE的某些操作在包含视图的数据库上执行,而不是在另外一个数据库上执行。

CREATE VIEW    viewname   AS   SELECT  table1.field1...,table2.field1...FROM  table1,table2..;

(4)同义词的建立:同义词是视图,序列,存储函数,包,快照或其他同义词的另一个名字,使用同义词有一下好处

     1,引用对象不需要指出持有者

     2,引用对象不需要指出它所在的数据库

     3,为对象提供另一个名字

CREATE  SYNONYM  symon_name  FOR  [   username . ]  tablename;

(5)用户建立

CREATE USER  username   IDENTIFIED  BY   password;

二,ALTER 语句:可以修改表或索引或对视图的字段进行重新设定

(1)ALTER TABLE table1 TO table2;   把表名table1改为table2

(2)ALTER TABLE  tablename  ADD field description;  在表后增加一个字段

(3)ALTER  TABLE  tablename  MODIFY  field description;  修改表中字段定义描述

(4)ALTER TABLE   table  ADD  CONSTRAINT  cons-name  PRIMARYKEY (field);给表中字段加上约束条件

          ALTER TABLE table  ADD CONSTRAINT  cons_name  UNIQUE (field);给表中字段加上约束条件

(5)ALTER TABLE   table  CACHE;   把表放在数据库的内存区

           ALTER TABLE  table  UNCACHE;    把表取出数据库的内存区

 ALTER TABLE   emp   ADD   COLUMN  salary number;   在表中新建一个salary 字段

ALTER TABLE emp DROP COLUMN  salary;   在表中删除一个salary 字段。

 

三,DEOP 语句:可以删除表, 索引, 视图, 同义词, 过程, 函数, 数据库链接 等,格式如下:

 DROP   {TABLE  table | INDEX index ON  table};

DROP  INDEX myindex ON employees;  删除表中的索引编号

DROP TABLE emplouee;  删除表

 

四,TRUNCATE  可以清空表中的所有记录,保留表的结构,格式如下:

   TRUNCATE   table;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16683570/viewspace-578131/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-06

  • 博文量
    74
  • 访问量
    182480