数据库中的各种约束以及对约束的操作

个人觉得外键是最难理解的一个也是重点:
直接上例子:

create table t_group (   
    id int not null,   
    name varchar(30),   
    primary key (id)   
);  

insert into t_group values (1, 'Group1');   
insert into t_group values (2, 'Group2');
create table t_user (   
    id int not null,   
    name varchar(30),   
    groupid int,   
    primary key (id),   
    foreign key (groupid) references t_group(id)
);  

insert into t_user values (1, 'qianxin', 1);insert into t_user values (2, 'yiyu', 2);insert into t_user values (3, 'dai', 3);

t_user是t_grounp的从表,t_group是主表;外键是外键约束,收到主表的约束。①②语句是可以执行的,但是③就不能执行,因为t_user的groundid受到t_group的id约束。


insert into t_user values (2, 'yiyu', 2);   
insert into t_user values (3, 'dai', 2);

但是这样也是可以的,由此可见外键可以重复
在设置外键的时候还可以加上on delete cascade或 on update cascade ,在我看来就是跟外键加了些权限,可以根据主表的删除、更新情况改变从表的数据。由于外键是和其他的表有关系,很受其他表的影响,因此尽量不要使用太复杂,要不然会晕的。


其他的非空(NOT NULL)约束、主键(PRIMARY KEY)约束、唯一(UNIQUE)约束、条件约束(CHECK)就比较简单了

约束添加有两个情况:
①创建表的时候一起添加:
CONSTRAINT +定义约束条件的名字+ 约束的名字 +(表的列名)
例如:

CONSTRAINT ZWQ UNIQUE(duang)

② 在已经创建的表中添加:
ALTER TABLE +表名 +ADD CONSTRAINT +定义约束条件的名字+ 约束的名字 +(表的列名)
例如:

ALTER TABLE t_user ADD CONSTRAINT PRIMARY KRY (id)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值