当前位置:   article > 正文

mysql的表级约束_MySQL 列级约束和表级约束

mysql列级约束和表级约束

一,六大约束

NOT NULL 非空

PRIMARY KEY 主键

UNIQUE 唯一

CHECK 检查约束,MySQL 不支持,语法不报错但无效果

FOREIGN KEY 外键.限制两表关系,通常在从表引入外键约束,引入主表中某列的值,保证从表该字段的值必须来源于主表关联列的值

DEFAULT默认值/系统设定值

二,表级约束和列级约束的定义:

表级约束:对多个数据列建立的约束,称为表级约束表级约束只能在列定义后声明

列级约束:对一个数据列建立的约束,称为列级约束列级约束既可以在列定义时声明,也可以在列定义后声明

ps:简单来理解的话就是列级约束针对的是单列,表级约束针对的是整个表,如此引伸出来

六大约束都可在列级约束使用,但外键无效果(外键是约束两个表之间的关系)

显而易见,非空和默认不可在表级约束中使用

三,添加约束的时机:

创建表时:

#创建主表,实验外键

CREAT  TABLE  IF  NOT  EXISTS  major(

id INT,

major_name varchar(20)

);

#创建从表,实验表级/列级约束

CREAT  TABLE  IF  NOT  EXISTS  students(

#添加表级约束,直接在类型后添加即可

id INT PRIMARY KEY,

student_name VARCHAR(20),

sex CHAR(1),

age INT DEFAULT 18,

majorid INT,

#添加表级约束,直接添加在列创建结束后

CONSTRAINT pk PRIMARY KEY(id).#主键,constraint用来命名,不加也可以

CONSTRAINT fk_student_majory FOREIGN KEY(majorid) REFERENCES major(id)#外键

);

修改表时:

#添加非空,其他列级约束可仿照此方法

ALTER  TABLE  students  MODIFY  COLUMN  student_name  VARCHAR(20)  NOT  NULL;

#添加外键,其他表级约束也可使用同样方法添加

ALTER  TABLE  students ADD  FOREIGN  KEY(majorid)  REFERENCES  major(id) ;

原文:https://www.cnblogs.com/WIFI-365/p/11593416.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/761250
推荐阅读
相关标签
  

闽ICP备14008679号