复合主键(单表多个主键)

复合主键:数据库表的主键由两个及以上的字段组成。

例如:

  1. CREATE TABLE `asm_device_config_info` (

  2. `asmModel` varchar(32) NOT NULL COMMENT '自助机型号',

  3. `deviceType` varchar(32) NOT NULL COMMENT '外设类型',

  4. `deviceModel` varchar(32) NOT NULL COMMENT '外设型号',

  5. `deviceFactory` varchar(32) NOT NULL COMMENT '外设厂商',

  6. PRIMARY KEY (`asmModel`,`deviceType`)

  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='自助机外围设备配置信息表';

联合主键(多表多个主键)

联合主键:多个主键联合形成一个主键的组合。

当两个数据表是多对多的关系,需要通过两个数据表的主键来组成联合主键,来确定一条记录

例如:

  1. CREATE TABLE `student` (

  2. `studentId` varchar(32) NOT NULL COMMENT '学号',

  3. `studentName` varchar(32) NOT NULL COMMENT '姓名',

  4. `studentGender` varchar(32) NOT NULL COMMENT '性别',

  5. `studentAge` int DEFAULT NULL COMMENT '年龄',

  6. PRIMARY KEY (`studentId`)

  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生信息表';

  1. CREATE TABLE `course` (

  2. `courseId` varchar(32) NOT NULL COMMENT '课程id',

  3. `courseName` varchar(32) NOT NULL COMMENT '课程名称',

  4. `courseCredit` varchar(32) NOT NULL COMMENT '课程学分',

  5. PRIMARY KEY (`courseId`)

  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课程信息表';

  1. CREATE TABLE `student_course` (

  2. `id` int AUTO_INCREMENT COMMENT '选课id',

  3. `studentId` varchar(32) NOT NULL COMMENT '学号',

  4. `courseId` varchar(32) NOT NULL COMMENT '课程id',

  5. PRIMARY KEY (`id`)

  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生选课表';

数据库中复合主键与联合主键相关推荐

  1. 数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量

    文章目录 前言 一.主键.联合主键和复合主键 (一)主键 (二)联合主键 (三)复合主键 二.外键.设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章 ...

  2. MySql的复合主键和联合主键的介绍

    我的个人博客 百度搜索:[迷你酷吧]网址:https://www.minikuba.com,迷你酷吧是一个基于程序员经验为基础分享技术文章.算法解题.大厂面试真题.热门项目的平台,致力于为大家提供更多 ...

  3. mysql联合主键语句6_初探SQL语句复合主键与联合主键

    一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...

  4. mysql联合主键_初探SQL语句复合主键与联合主键

    一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...

  5. oracle联合主键去重,联合主键的查询语句怎么写

    1.联合主键,SQL语句怎么写 建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍. 1.在数据库提供的GUI环境中建立(以SQL7为例). 输入表 ...

  6. Oracle主键和联合主键

    在oracle数据库中,一张表中的每一行数据被称为一条记录.一条记录通常都是由多个字段所组成的. 例如,employees表的四行记录: 每一条记录都包含者若干个已经定义好的字段.同一个表的所有记录都 ...

  7. MySQL设置主键、联合主键、外键、唯一约束、非空约束、默认约束

    MySQL登录.查看记录等基本操作 MySQL设置表的属性值自动增加 auto_increment 1.主键.联合主键.外键 1.什么是主键 主键是在多条记录中用于确定一条记录时使用的标识符.主键具备 ...

  8. oracle 查看联合主键,Oracle 主键、联合主键的查询与创建

    --查询某个表是否有唯一主键 select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = ...

  9. 数据库中复合主键与联合主键的区别?

    复合主键 复合主键:数据库表的主键由两个及以上的字段组成. 例如: CREATE TABLE `asm_device_config_info` (`asmModel` varchar(32) NOT ...

最新文章

  1. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
  2. 《用户至上:用户研究方法与实践(原书第2版)》一 3.4 法律层面的考虑
  3. #27 回文数字 Palindrome Detector
  4. Android 9 的非 SDK 接口限制 | 中文教学视频
  5. 简单聊聊Glide的内存缓存
  6. Spring Environment仅用于初始化代码
  7. java 方法 示例_Java集合syncedSet()方法与示例
  8. Linux 简单打印日志(二)
  9. 论文浅尝 | 用于开放领域的问题生成
  10. java wix_使用WIX升级MSI
  11. 关于ElasticSearch处理过滤条件
  12. IO中的阻塞、非阻塞、同步、异步概念分析详解(通俗易懂)
  13. 哈理工c语言,哈理工C语言试题.doc
  14. origin绘图过程的一些经验
  15. aho-corasick automaton (AC自动机)的理解
  16. 美国计算机音乐专业,美国音乐博士解析
  17. 中国移动国际mCloud如何助力企业乘风破浪?
  18. linux加密文件系统
  19. Java开发岗:本硕211毕业一年,大厂面试最终拿下美团offer!献上我的面经+Java核心知识点(秋招适用)
  20. 使用FreeMarker自动生成Word文档

热门文章

  1. 跨境电商,独立站和第三方平台孰更具优势?
  2. python搜索网页特定区域内容_Python爬取练习:指定百度搜索的内容并提取网页的标题内容...
  3. html全屏banner轮播代码,基于jquery实现全屏banner自动轮播切换
  4. 面试题简答题——数据库相关汇总
  5. 写作就像升级打怪,4个实战技巧让你“写什么都很棒”!
  6. ECS启动新“模”法
  7. java synchronizer_Java同步框架AbstractQueuedSynchronizer详解
  8. 项目解析jsx文件_神奇了!这个 Go 语言项目让前端构建快了近 100 倍
  9. 机器学习模型 知乎_知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用...
  10. SpringBoot实战教程(7)| 整合JPA