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)
);

 

posted @   star521  阅读(138)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示