MySQL 主键外键

笛卡儿积

多表查询 ,多个表变成一个表

完整性约束条件
primary key    标识该属性为该表的主键,可以唯一的标识对应的元组
foreign key    标识该属性为该表的外键,是与之联系的某表的主键
not null       标识该属性不能为空
unique         标识该属性的值是唯一的
auto_increment 标识该属性的值自动增加
default        为该属性设置默认值
设置从表 外键
constraint 外键别名 foreign key(属性1.1, 属性1.2, ..., 属性1.n)
    references 表名(属性2.1, 属性2.2, ..., 属性2.n)
//添加从键约束 
alter table empl
add foreign key empl(e_id) reference depart(d_id);

可以在创建表时就设置好主键 外键(外键约束)
 主键
  列名 类型 primary key auto_increment,
 从键
  constraint 外键别名  foreign key (属性1.1, 属性1.2, ..., 属性1.n)  reference 主表名(属性2.1, 属性2.2, ..., 属性2.n);

//外键约束
create table dept(
 did int primary key auto_increment,
 dname varchar(10)
);

create table emp(
 eid int primary key auto_increment,
 name varchar(10),
 dno int,
 foreign key emp(dno)  references dept(did)
);

原文地址:https://www.cnblogs.com/star521/p/9007999.html