非空约束:是指 某些列不能设置为NULL值,所以要对列添加非空约束
非空约束的特点:不可以为空,但可以是重复值
NOT NULL 是非空约束的关键字
CREATE TABLE student (
sid INT PRIMARY KEY AUTO_INCRAMENT,
sname VARCHAR(50) NOT NULL,
age INT
);
设置sname为非空约束
唯一约束:某些列不能添加重复值,所以对列进行唯一约束
唯一约束的关键词是:UNIQUE
CREATE TABLE student (
sid INT PRIMARY KEY AUTO_INCRAMENT,
sname VARCHAR(50) NOT NULL UNIQUE,
age INT
);
设置sname为非空唯一约束
外键约束:
外键约束的特点:外键列可重复,可以为NULL,外键列必须是另一个表的主键值
CONSTRAINT 外键名(一般是fk_从表名_主表名)FOREIGN KEY (外键值) REFERENCE 引用的表名(主键值);
CREATE TABLE emp(
empno INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR(50),
eno INT,
CONSTRAINT fk_emp_dept FOREIGN KEY (eno) REFERENCE dept (deptno)
);
eno为外键
修改外键:
ALTER TABLE 表名
ADD CONSTRAINT 外建名 FOREIGN KEY (外键值) REFERENCE 医用的表名(引用表的主键值);
删除主键:
ALTER ALTABLE 表名
DROP FOREIGN KEY 外建名;