学习MySQL(二)数据库各项约束

1.为什么需要数据完整性?
因为有些时候数据有些信息不准确,并不能达到一条有价值的数据。所以制作一些无效的数据是徒劳的,一个好的数据库设计,一定要优先考虑数据的完整性,如果在设计的时候没有考虑数据的完整性,那么等到后面将会耗费很大的精力来进行调整。
2.数据完整性的分类
(一) 实体完整性(Entity Integrity):实体完整性就是实实在在存在的,它规定表的每一行记录在表中是唯一的。实体完整性在表中的约束体现为:主键(Primary Key)约束、唯一(unique)约束。
(二) 域完整性(Domain Integrity):考虑如何限制向表中输入的数值的范围,域完整性的约束有:外键(Foreign key)约束、默认值(Default)约束、非空(Not Null)约束。
(三) 引用完整性(Referential Integrity):指保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系,它涉及两个或两个以上表数据的一致性维护,主要通过外键来进行引用。
(四) 用户自定义完整性(User-defined Integrity):针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
3.主键约束
语法:列名 数据类型 primary key[默认值];
还有一种是在所有列名都已经完成了情况下在外部设置主键的语句
语法:[CONSTRAINT 约束名]PRIMARY KEY (列名)//注意在表外进行语法输入创建
4.自动增长
语法:列名 数据类型 AUTO_INCREMENT
输入好自动增长的语法后,当我们每次添加新纪录时,系统会默认给我们自增;
注意:自动增长语句不能单独使用,必须要在主键的一句内使用,并且数据类型必须是整数类型,而且一个表中只可以存在一个自动增长。
5.非空约束
语法:列名 数据类型 NOT NULL
当输入好非空约束的代码时,这时候被添加的语句的那一列就必须得有数据,不能为空;
6.外键约束
语法:[CONSTRAINT 外键名] FOREIGN KEY 字段名1 REFERENCES 主表名 (主键列1)
当采用外键约束时,从表就可以通过外建来跟主表来进行关联了;
注意:这里的字段名1是从表里建立的列,这个列要跟主表里的主键类型一样;
7.默认约束
语法:字段名 数据类型 default 默认值
当给我们指定的列来设置好默认值的时候,当我们在插入一条新的记录时,没有为这个字段赋值的时候,那么系统会自动给他赋值;
//如果我们指定的是数值类型的话,直接在后面加上数值即可,如果是文本类型的话,则在后面使用单引号‘ ’
8.唯一约束
语法:字段名 数据类型 UNIQUE
当我们给我们指定的列设置了唯一约束的时候,那么这个值则是唯一的,不能出现重复值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值