数据库中复合主键与联合主键
复合主键(单表多个主键)
复合主键:数据库表的主键由两个及以上的字段组成。
例如:
CREATE TABLE `asm_device_config_info` (
`asmModel` varchar(32) NOT NULL COMMENT '自助机型号',
`deviceType` varchar(32) NOT NULL COMMENT '外设类型',
`deviceModel` varchar(32) NOT NULL COMMENT '外设型号',
`deviceFactory` varchar(32) NOT NULL COMMENT '外设厂商',
PRIMARY KEY (`asmModel`,`deviceType`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助机外围设备配置信息表';
联合主键(多表多个主键)
联合主键:多个主键联合形成一个主键的组合。
当两个数据表是多对多的关系,需要通过两个数据表的主键来组成联合主键,来确定一条记录
例如:
CREATE TABLE `student` (
`studentId` varchar(32) NOT NULL COMMENT '学号',
`studentName` varchar(32) NOT NULL COMMENT '姓名',
`studentGender` varchar(32) NOT NULL COMMENT '性别',
`studentAge` int DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`studentId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生信息表';
CREATE TABLE `course` (
`courseId` varchar(32) NOT NULL COMMENT '课程id',
`courseName` varchar(32) NOT NULL COMMENT '课程名称',
`courseCredit` varchar(32) NOT NULL COMMENT '课程学分',
PRIMARY KEY (`courseId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课程信息表';
CREATE TABLE `student_course` (
`id` int AUTO_INCREMENT COMMENT '选课id',
`studentId` varchar(32) NOT NULL COMMENT '学号',
`courseId` varchar(32) NOT NULL COMMENT '课程id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生选课表';
数据库中复合主键与联合主键相关推荐
- 数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量
文章目录 前言 一.主键.联合主键和复合主键 (一)主键 (二)联合主键 (三)复合主键 二.外键.设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章 ...
- MySql的复合主键和联合主键的介绍
我的个人博客 百度搜索:[迷你酷吧]网址:https://www.minikuba.com,迷你酷吧是一个基于程序员经验为基础分享技术文章.算法解题.大厂面试真题.热门项目的平台,致力于为大家提供更多 ...
- mysql联合主键语句6_初探SQL语句复合主键与联合主键
一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...
- mysql联合主键_初探SQL语句复合主键与联合主键
一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...
- oracle联合主键去重,联合主键的查询语句怎么写
1.联合主键,SQL语句怎么写 建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍. 1.在数据库提供的GUI环境中建立(以SQL7为例). 输入表 ...
- Oracle主键和联合主键
在oracle数据库中,一张表中的每一行数据被称为一条记录.一条记录通常都是由多个字段所组成的. 例如,employees表的四行记录: 每一条记录都包含者若干个已经定义好的字段.同一个表的所有记录都 ...
- MySQL设置主键、联合主键、外键、唯一约束、非空约束、默认约束
MySQL登录.查看记录等基本操作 MySQL设置表的属性值自动增加 auto_increment 1.主键.联合主键.外键 1.什么是主键 主键是在多条记录中用于确定一条记录时使用的标识符.主键具备 ...
- oracle 查看联合主键,Oracle 主键、联合主键的查询与创建
--查询某个表是否有唯一主键 select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = ...
- 数据库中复合主键与联合主键的区别?
复合主键 复合主键:数据库表的主键由两个及以上的字段组成. 例如: CREATE TABLE `asm_device_config_info` (`asmModel` varchar(32) NOT ...
最新文章
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
- 《用户至上:用户研究方法与实践(原书第2版)》一 3.4 法律层面的考虑
- #27 回文数字 Palindrome Detector
- Android 9 的非 SDK 接口限制 | 中文教学视频
- 简单聊聊Glide的内存缓存
- Spring Environment仅用于初始化代码
- java 方法 示例_Java集合syncedSet()方法与示例
- Linux 简单打印日志(二)
- 论文浅尝 | 用于开放领域的问题生成
- java wix_使用WIX升级MSI
- 关于ElasticSearch处理过滤条件
- IO中的阻塞、非阻塞、同步、异步概念分析详解(通俗易懂)
- 哈理工c语言,哈理工C语言试题.doc
- origin绘图过程的一些经验
- aho-corasick automaton (AC自动机)的理解
- 美国计算机音乐专业,美国音乐博士解析
- 中国移动国际mCloud如何助力企业乘风破浪?
- linux加密文件系统
- Java开发岗:本硕211毕业一年,大厂面试最终拿下美团offer!献上我的面经+Java核心知识点(秋招适用)
- 使用FreeMarker自动生成Word文档
热门文章
- 跨境电商,独立站和第三方平台孰更具优势?
- python搜索网页特定区域内容_Python爬取练习:指定百度搜索的内容并提取网页的标题内容...
- html全屏banner轮播代码,基于jquery实现全屏banner自动轮播切换
- 面试题简答题——数据库相关汇总
- 写作就像升级打怪,4个实战技巧让你“写什么都很棒”!
- ECS启动新“模”法
- java synchronizer_Java同步框架AbstractQueuedSynchronizer详解
- 项目解析jsx文件_神奇了!这个 Go 语言项目让前端构建快了近 100 倍
- 机器学习模型 知乎_知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用...
- SpringBoot实战教程(7)| 整合JPA