主键约束
第一种
create table student (
id int primary key,
name varchar(50)
);
第二种
create table student (
id int,
name varchar(50),
primary key (id)
);
第三种
create table student(
id int,
name varchar(50)
);
alter table student add primary key (id);
非空约束
字段名 数据类型 NOT NULL;
create table student(
id int primary key,
name varchar(50) not null,
gender varchar(10)
);
唯一性约束
字段名 数据类型 UNIQUE;
create table student(
id int primary key,
name varchar(50) unique,
gender varchar(10)
);
AUTO_INCREMENT约束
字段名 数据类型 AUTO_INCREMENT;
create table student(
id int primary key auto_increment,
name varchar(50) unique,
gender varchar(10)
);
默认值约束
字段名 数据类型 DEFAULT 默认值
create table student(
id int primary key,
name varchar(50) unique,
gender varchar(10) default '男'
);
外键约束
第一种
CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES (主键字段)
-- student表
create table student(
id int primary key,
name varchar(50) not null,
gender varchar(10) default '男'
);
-- score表
create table score(
scoreid int primary key,
studentid int,
scoreresult int,
constraint fk_score_studentid foreign key (studentid) references student(id)
);
第二种
ALTER TABLE score ADD CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES (主键字段)
-- student表
create table student(
id int primary key,
name varchar(50) not null,
gender varchar(10) default '男'
);
-- score表
create table score(
scoreid int primary key,
studentid int,
scoreresult int
);
alter table score add constraint fk_score_studentid foreign key (studentid) references student(id)
删除外键
ALTER TABLE 从表名 DROP FOREIGN KEY 外键名;