Mysql中外键详解

Mysql中外键详解

1.定义外键的操做
2.这个外键的名字该如何定义?
3.一个表的外键必是另外一个表的主键【好比,若是不定义student中sno为主键,那么score的sno为外键就没法定义】mysql

create table student( sno varchar(20) not null primary key, cno varchar(20) not null);

create table score( sno varchar(20) not null , cno varchar(20) not null , constraint sno_inScore foreign key(sno) references student (sno), degree decimal(4,1));

4.为表增长主键
alter table course change column cno cno varchar(20) not null primary key;这个语句能够分红三部分解读:web

  • alter table course:说明这个是对表course的操做
  • change column cno:说明这个是对列cno的操做
  • cno varchar(20) not null primary key:直接对字段的一个从新定义