1、--单个主键
create table student(
id int primary key,
name varchar(50)
);
2、--联合主键
create table student(
id int,
classid int,
name varchar(50),
primary key(id,classid)
);
3、先创建表 然后单独对某列增加主键
create table student(
id int,
name varchar(50)
);
alter table student add primary key(id)
唯一约束(unique)
create table student(
id int primary key,
name varchar(50) unique
);
自动增长auto_increment
create table student(
id int primary key auto_increment,
name varchar(50) unique
);
注意:给主键增加自动增长列必须是整数类型(自增长必须显示主键)
自动增长生成的数据要是删除,在重新添加在之前的基础上面继续增长
--非空约束 not null
create table student(
id int primary key auto_increment,
name varchar(50) unique not null
);
--默认值约束
create table student(
id int primary key auto_increment,
name varchar(50) unique not null,
address varchar(100) default '北京'
);
插入数据,默认值可以直接输入default
insert into student(name,address) values('eee',default)
外键:foreign key
--添加外键约束
create table stu(
sid int primary key,
name varchar(50) not null
)
create table score1(
score double,
sid int ,
constraint fk_stu_score1_sid foreign key(sid) references stu(sid)
)
约束的名称叫:fk_stu_score1_sid 外键约束:foreign 列:sid references stu(sid):参照学生表的sid
也可以先建表然后新增外键