oracle约束

--商品表
CREATE TABLE GOODS (
  goodsId char(8) primary key,--主键
  goodsName varchar2(30),
  unitprice number(10,2) check(unitprice > 0),
  category varchar2(8),
  provider varchar2(30)
);

--客户表
create table customer(
  customerId char(8) primary key,
  name varchar2(50) not null,
  address varchar2(50),
  email varchar2(50) unique,
  sex char(2) default '男' check (sex in ('男','女')),
  cardId char(18)
);

--购买情况表
create table purchase(
  customerId char(8) references customer(customerId),
  goodsId char(8) references goods(goodsId),
  nums number(10) check(nums between 1 and 30)
);

================================================

--建表以后仍然可以添加或者修改或删除约束
--商品的名字不能为空(非空约束使用modify)
alter table goods modify goodsName not null;
--身份证不重复(其余约束)
alter table customer add constraint card_uni UNIQUE(cardId);
--客户住址只能够在固定的六个地方('海淀','朝阳','东城','西城','通州','崇文')
alter table customer add constraint address_check check(address in('海淀','朝阳','东城','西城','通州','崇文'));
--删除约束
alter table 表名 drop constraint 约束名称;
--删除主键约束的时候可能会出现错误,例如:alter table 表名 drop primary key;
--因为如果两张表存在主从关系,那么删除主表的主键约束时候必须带上cascade(破坏主外键关系),例如:
--alter table 表名 drop primary key cascade;
====================================================================

表级定义 和 列级定义的区别:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值