表的约束(查缺补漏)


1.非外键约束添加的方式:

1 create table book(
2 id int primary key,
3 name varchar(15) unique,
4 email varchar(30) not null
5 );

添加比较方便,且不是额外附加条件,一般在初始化表时就可以添加确定

也可以在表定义最后再声明(表的外键约束一般都放到最后):

 1 CREATE TABLE employees(
 2 employeeNumber INT(11) PRIMARY KEY AUTO_INCREMENT,
 3 lastName VARCHAR(50) NOT NULL,
 4 firstName VARCHAR(50) NOT NULL,
 5 mobile VARCHAR(25) UNIQUE,
 6 officeCode INT(10) NOT NULL,
 7 jobTitle VARCHAR(50) NOT NULL,
 8 birth DATETIME NOT NULL,
 9 note VARCHAR(255),
10 sex VARCHAR(5),
11 CONSTRAINT fk_emp_ofCode FOREIGN KEY(officeCode) REFERENCES offices(officeCode)
12 );

2.外键约束添加的方式:

1 #3. 向表emp2中添加列dept_id,并在其中定义FOREIGN KEY约束,与之相关联的列是dept2表中的id列。
2 alter table dept2 
3 add dept_id int ;
4 alter table dept2 
5 add constraint fforeign foreign key (dept_id) references dept2(id);

此处先加上变量dept_id,在附上外键foreign key(不像其他约束可以边添加属性边添加约束,因为外键添加较为麻烦)

3.表创建后更新,增添约束的方式(两种方式):

1 #1.向表emp2的id列中添加PRIMARY KEY约束
2 alter table emp2 
3 modify id int primary key;
4 #2. 向表dept2的id列中添加PRIMARY KEY约束
5 alter table dept2 
6 add primary key(id);#not null约束不能使用该方法,其余都可以使用该方法