q1:列级约束和表级约束的区别,这样的区别是要达到怎样的效果作用?
-
表级约束:可以约束表中任意一个或多个字段。与列定义的相互独立,不包含在列表定义中;与定义用‘,’分隔;必须指出要约束的列的名称;
- 列级约束:包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名
q2:有几种约束?分别有什么作用?
七种
- not null:非空约束(无论是单个字段还是多个字段非空约束的添加只能使用列级约束(非空约束无表级约束))
- unique:唯一值约束(如果想要某个字段的值不重复,那么就可以为该字段添加唯一约束。)
- foreign key:外键约束()
- check:检查约束(用来限制某个字段的取值范围)
- default:默认值约束(如果某个被设置为DEFAULT约束的字段没插入具体值,那么该字段的值将会被默认值填充。(默认值约束无表级约束))
- primary key:主键约束(约束表中的某个字段可以唯一标识一条记录。因此,使用主键约束可以快速查找表中的记录,就像人的身份证、学生的学号等等,设置主键的字段取值不能重复(唯一),也不能为空(非空),否则无法唯一标识一条记录。)
- aut_increament:自增约束(一张表中只能有一个自增长字段,并且该字段必须定义了约束(该约束可以是主键约束、唯一约束以及外键约束).由于自增约束会自动生成唯一的ID,所以自增约束通常会配合主键使用,并且只适用于数据整型。自增约束(AUTO_INCREMENT)可以使表中某个字段的值自动增加)
q3:什么是外键约束,有什么应用?
q3.1主表与从表的关系?
主键所在的表叫主表,外键所在的表叫从表
删除主表后才能删除从表
q4:表的完整性约束的实际应用,解决什么问题?