约束是一种限制,通过对表行或列的数据做出限制,来确保数据的完整性和唯一性等
-
约束分类
-
非空约束
作用:
限制某一个字段不能为空
语法:
字段名 类型(长度) Not Null,
图形界面操作:
-
唯一约束
作用:
限制列(该字段)的值只能是唯一的,该列不能出现重复的值
语法:
字段 类型(长度)unique,
图形界面操作:无
-
主键约束
作用:
表示字段唯一且非空
语法:
字段 类型(长度)primary key
图形化界面操作:
注意:
主键的设计一般来说是选取某一列作为主键【推荐】
选取多列作为主键称之为复合主键【不推荐】
自然主键: 你的主键是有业务意义的,比如:身份证号等
代理主键:它没有任何意义(都使用代理主键)
-
外键约束
本质:通过一个字段与其他的表建立联系,保证数据的完整性
简单的说:A表A字段取值是B表的主键【B字段】,那么B字段是A表的外键
一个表可以有多个外键
注意:一般一个系统,不会使用外键
语法:
ALTER TABLE 表名 ENGINE='InnoDB'; //修改引擎(引擎看01_Mysql入门学习)
//SQL语句创建外键
alter table 表名
add constraint 外键名 foreign key (主表字段) references 从表(从表主键);
图形化操作
设计表——外键——》栏目(需要给哪一个字段添加)参考数据库、参考表(B表)、参考栏位(一般B表主键)
-
其他
-
默认值
当前列若没有值存入,则使用定义好的默认值,使用关键字default
语法:
字段名 类型(长度) default 默认值,
图形化操作: