数据库约束是对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。
约束通常与一个表相关联,并使用CREATE CONSTRAINT或CREATE ASSERTIONSQL语句创建。
所有的关系数据库都支持对数据表使用约束,通过约束可以更好地保证数据表里数据的完整性。
是表上强制执行的校验规则,除此之外,当表中数据存在相互依赖性时,可以保护相关数据不被删除。约束通常无法修改。
扩展资料
数据库中的五大约束:
1、主关键字约束
主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。
2、外关键字约束
外关键字约束定义了表之间的关系。当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联。
3、唯一性约束
惟一性约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的值。唯一性约束指定的列可以有NULL 属性。由于主关键字值是具有唯一性的,因此主关键字列不能再设定唯一性约束。唯一性约束最多由16 个列组成。
4、检查约束
检查约束对输入列或整个表中的值设置检查条件,以限制输入值,保证数据库的数据完整性。可以对每个列设置复合检查。
5、缺省约束
缺省约束通过定义列的缺省值或使用数据库的缺省值对象绑定表的列,来指定列的缺省值。SQL Server 推荐使用缺省约束,而不使用定义缺省值的方式来指定列的缺省值。
这样的 *** 作明显违法了当初如此进行这些表关系设计的初衷。
cascade用处在于,你删除某条记录时,如果主键值被删除,那么级联删除子表的相关数据。
不适用于你现在的情况:删除主表!!!
还是建议你想好,为什么要删除此表。
安全起见的话,先删除各个外键,再删除主表;建议删除主表前,先备份(以免后悔)
CONSTRAINT`外键名`FOREIGNKEY(`外键的字段`)REFERENCES`外键关联的表`(`外键关联的字段`)ONDELETECASCADEONUPDATECASCADE
ONDELETE代表删除时
ONUPDATE代表更新时
CASCADE代表级联
以上就是关于什么是数据库约束全部的内容,包括:什么是数据库约束、mysql数据库,我想删除一张表,这张表的主键又作为其它多张表的外键,InnoDB,且设置了删除cascade。、怎么把mysql数据库外键设置级联(mysql怎么添加外键)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)