对数据库约束的学习心得

1.primary key(创建时自动同时创建一个唯一索引):
一个表只能定义一个主键约束,但是一个主键约束可以不止对应一个列
对应多个列的主键约束叫复合主键
创建语句:alter table table_name add constraint name(键名) primary key (列名)

2.unique key(创建时自动同时创建一个唯一索引):
唯一约束确保在列中不输入重复值,保证一列或多列的实体完整性
创建语句:alter table table_name add constraint name(键名) unique  key (列名)

3.foreign key:
外键约束为表中一列或者多列数据提供数据完整性,它限制插入到表中被约束列的值必须在被引用表中已经存在
外键必须建立在主表的主键上
注:禁止在从表中插入包含主表中不存在的关键字的数据行
禁止update从表中相应值为主表中不存在的关键字的数据行
禁止删除在从表中有对应记录的主表的记录
创建语句:alter table table_name add constraint name foreign key (从表列值) references parent_table_name (主表列值)

4.check key:
确保列的输入内容必须符合该列的检查约束条件,否则输入无效
创建语句:alter table table_name add constraints name  check (列名 like '')


对应视图
dba_constraints:可以查询表对应的约束
dba_ind_columns:通过查询index对应的字段查询出唯一约束和主键约束对应的列

主键和唯一约束的异同点:
相同点:值不能重复
异同点:主键不能为空,唯一约束可以为空(逻辑上null和null不等,所以可以无限往唯一约束的列插入空值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值