修改表和约束(alter语句)

修改表和约束(alter语句)
     测试的表:  
  create table t_user(
            id number constraint user_id_pk primary key,
            name varchar2(100),
            salary number
    ); 
    drop table t_user; 
    //在表中添加一个新的列  
    alter table t_user
    add birthday date; 
    //删除表的某列    
alter table t_user
    drop column birthday; 

以上结果如下所示:

 

    //给表中的列添加约束
    //这个约束相当于之前的表级约束   
 alter table t_user
    add constraint user_name_un
    unique(name);     
    //测试刚添加的唯一约束是否生效   
    insert into t_user(id,name) values(3,'zs');

 结果如下图所示,违反唯一性约束,因为以前的实验中有zs用户,所以现在不能够插入


    
    //删除表中的约束  
  alter table t_user
    drop constraint user_name_un;
     //修改表的名字:   
    rename t_user to mytest;
    rename mytest to t_user;
     //修改表中某列的类型    
alter table t_user
    modify (name varchar2(500)); 
    //让约束失效:必须知道约束的名字    
alter table t_user
    disable constraint user_id_pk cascade;     
    //测试是否设置成功   
    insert into t_user(id,name) values(1,'zs1');
    insert into t_user(id,name) values(1,'zs2');  
    //让失效的约束再次生效    
alter table t_user
    enable constraint user_id_pk;   
    //截断表中的数据(删除),不需要提交,默认已经提交,并且不能回滚    
    truncate table t_user;
    相当于:
    delete from t_user;
    commit;  
    //给表添加注释    
 comment on table t_user is '很好';
    //给列添加注释   
 comment on column t_user.name is 'good';
    //查看表中注释    
select * from user_tab_comments where table_name=upper('t_user');
    //查看列中的注释    
select * from user_col_comments  
    where  
    comments is not null  
    and  
    table_name=upper('t_user'); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值