数据库定义语言

 DDL:数据库定义语言(create tablealter tabledrop tablecreate view)

一、创建表:Creat table

  1、创建表格式:  create table [表名](

            [自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
            [字段1] nVarChar(50) default \'默认值\' null ,
            [字段2] ntext null ,
            [字段3] datetime,
            [字段4] money null ,
            [字段5] int default 0,
            [字段6] Decimal (12,4) default 0,
            [字段7] image null ,
          )

  2、命名规则:

    a)必须以字母开头
    b)必须在1-30个字符之间
    c)只能包含A-Z a-z 0-9 $ # _
    d)不能和用户定义的其他对象重名
    e)不能是oracle的保留字
    f)默认存储的都为大写
    g)数据库名只能是1-8位

  3、约束:约束是表一级的限制,可以防止错误的删除数据

    1、约束的类型:

      a)、(NOT)NULL     --(不)为空约束
      b)、UNIQUE             -- 唯一标识
      c)、PRIMARY KEY     --主键--拥有自动定义的 UNIQUE 约束且主键不能为null
      d)、FOREIGN KEY     --外键--
      e)、CHECK              --用于限制约束列的值

      [注意] 1、每个表可以有多个 UNIQUE 约束,但只能有一个 PRIMARY KEY 约束         

           2、通过数据字典查看约束:desc user_constraints;

      3、外键:通过references来指定外键

 1 /*************************************************************/
 2 drop table t_user;
 3 
 4 create table t_user(    
 5   id number,   
 6   name varchar2(20),   
 7   primary key(id)   --主键约束
 8 );
 9 
10 select *from t_user;
11 
12 insert into t_user values(1,2);
13 
14 /*************************************************************/
15 drop table t_role;
16 
17 create table t_role(
18    id number,
19    name varchar2(20),
20    primary key(id)   --主键约束
21 )
22 
23 select *from t_role;
24 
25 insert into t_role values(1,'副校长');
26 
27 /*************************************************************/
28 drop table user_role;
29 
30 /*create table user_role(
31   userid number,
32   roleid number
33 )*/
34 create table user_role(
35   userid number references t_user(id),    --外键约束
36   roleid number references t_role(id)     --外键约束
37 )
38 select *from user_role;
39 
40 insert into user_role values(1,1);
41 
42 /*************************************************************/
43 
44 select u.name,r.name  from t_user u,t_role r,user_role ur  where u.id= ur.userid and r.id=ur.roleid ;
45 select *from t_user,t_role,user_rol;  --这样写不对,会呈现笛卡尔积
46 select *from t_user;
47 select *from t_role;
48 select *from user_role;

  【注意】一个表被外键约束后要想将他删除,就必须先将这个外键对应的主键所在的表先删除后才能将这个表删除。

二、修改表:alter table

  a)追加新的列:alter table person add mobile varchar2(20);
  b)修改现有的列:alter table person modify pname varchar2(25);
  c)重命名列:alter table person rename column mobile to tel;
  d)删除一列:alter table person drop column tel;

  【注意】对默认值的修改只影响修改后对表数据的操作

三、删除表:drop table

  格式:
    drop table 表名;
  删除表后,进入回收站
  查看回收站:show recyclebin;
  清空回收站:purge recyclebin;
  彻底删除:drop table 表名 purge;

 

posted @ 2016-09-03 20:46  陈泽俊  阅读(819)  评论(0编辑  收藏  举报