数据库的约束

数据库约束

数据库对数据的合法性进行校验检查,避免数据库中被插入,修改一些非法的数据。

数据库约束类型

not null - 指示某列不能存储 null值

下图就是具体展示,未进行约束时可以进行填入null,约束之后就不能进行填入,会自动进行报错,此外就算对已有数据进行修改成null也是不行的,同样会报错。注意一点,不能再原表上就行更改约束,要重建一个表并进行约束。

 不能进行修改为约束规定的情况

unique - 保证某列的每行必须有唯一的值

下图案列就可以看出unique就是和它的英文意思一样唯一的,意思是不能频繁插入下同的元素。unique 的使用会拖慢数据库的执行效率,因为每次执行unique都会先执行一次检查,检查是否出现相同。这样就会降低执行的效率。

default默认值用法

default 在插入时没有显式调用时,规定的默认值机会自动进行填补。下面的例子是,运用列插入,只进行了id列的插入,name列并未进行插入这个时候默认值就进行了自动填写。

primary key唯一标识符用法

primary key 确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。注意的是一个表中只能有一个primary key,有多个时无法判断以谁为准。虽然主键只有一个但是不意味着只有一个列有主键,可以通过联合主键(多个列公用一个主键)。

 primary key==unique与not null的结合?

下图实现的是primary的功能,可以出id的列的null显示是not意思是不能为空,key是PRI这里是唯一的意思,因此说primary key是unique与not null的结合。带有主键也是先查询后执行,效率低,但是数据库会对unique和primary自动生成索引进而调高效率。

 如何使用数据库为主键自动赋值

使用 auto_increment可以为主键自动赋值,这里插入时写入的null并不是写进去null,而是表示为输入自动调用数据库服务器的使其自动赋值。

foreign key外键

foreign key (字段名) references 主表(列)

foreign key外键用于描述两个表之间的关联关系。用外键进行约束,内建在不满足外键的情况下就会显示错误。补充:使用外键约束的时候,只对使用的进行约束,意味着可以改变一个表中未使用的列,也是不会报错的。

未用主键进行约束

外键约束是通过主键或者unique,当父表或者子表有一个没进行设置主键就会显示添加外键约束,其次就是当子表和父表的约束一定是基于主键,不是相同的主键也是会显示这种错误的。

外键约束中如何进行删除父表 

父表和子表是相互密切联系,子表是参考父表的,因此要先删除子表再删除父表,另外再子表为null时删除父表也会显示错误的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值