oracle 创建表约束,修改,删除


SQL> create table goods(goodsid char(8) primary key,--主键   2  goodsname varchar2(30),   3  unitprice number(10,2) check(unitprice > 0),--单价大于0   4  category varchar2(8),   5  provider varchar2(50));   Table created   SQL> create table customer(customerid char(8) primary key,   2  name varchar2(20) not null,--不能为空   3  adddress varchar2(50),   4  email varchar2(50) unique,--不能重复   5  sex char(2) default '男' check (sex in ('男','女')),--男女,默认为男   6  cardid char(18));   Table created

SQL>  create table purchase (customerid char(8) references customer(customerid),--外键   2   goodsid char(8) references goods(goodsid),   3   nums number(20) check(nums between 1 and 30));--约束购买数量在1-30之间   Table created

 
 

SQL> alter table goods modify goodsname not null;--修改名字也不能为空   Table altered    SQL> alter table customer add constraint yueshumingzi unique(cardid);--修改身份证不能为空   Table altered

 

SQL> alter table customer add constraint addresscheck check( address in('烟台','青岛','潍坊','济南','德州'));--修改地址只能从这几个地方选择   Table altered

 

yueshumingziaddresscheck是两个随便起的名字,删除的时候会用到

alter table customer drop constraint addresscheck;--删除名为addresscheck的约束

 

alter table customer drop primary key ;--删除主键

 

alter table cusromer drop primary key cascade;--如果主键跟别的表有关系,需要加入一个cascade来打破约束,并删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值