概念のsql命令创建表和主外键约束
- 创建表
create talbe 最后一个字段的后面建议不要写逗号
- 什么是约束
定义:对一个表中的属性的限制叫做约束
分类:主键约束:在表创建的时候,(不允许重复元素,避免了数据的冗余;实体完整性)
外键约束:在表创建的时候,(通过外键约束,从语法上保证了本事物所关联的其他事物一定是存在的;引用的完整性)
事物跟事物之间的关系是通过外键来体现的,必须先建立外键所在表
check约束:在表创建的时候,对属性的取值范围进行约束。check(sal>=1000 and sal <=8000)
default约束:在表创建的时候,设置默认值,保证事物的属性一定有一个值。
注意:如果想插入数据,却不插入默认属性的值,就需要在命令中不指定该字段,如
insert into student(stu_id,stu_sal) values(1,1000) ---stu_sex默认‘男’,注意不写红色部分,默认是全部的属性,此时就需要指定全部的值。
唯一约束unique:设定不可重复的值。该建值可以为null,但不允许多列为空,oracle允许。unique 可以和not null联合使用。
- 主键和唯一键的区别及两者配合使用举例:
不要选择业务逻辑字段当主键,以防该字段被改变,应该选择一个业余建(最好选无实际意义,比较方便的编号)做主键。
- not null约束及not null约束与default约束的异同:
not null:用户必须给该属性添加以个值。
- null 与 default的异同:
相同点:都允许用户不赋值
不同点:
null修饰的字段不写null,也不写not null 则默认是null,即默认允许为null,用户可以不给该字段赋值。
default修饰的字段,如果用户不赋值,则默认为是default指定的值。