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)
);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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代理 了,记录一下