赞
踩
一,六大约束
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。