最近做的功能涉及这方面,算是练了一下。

首先多对一部分较简单。多的那一方表,多设置一个字段是少的那一方的id(主键)。

具体查询时候关联查询即可。

可设置外键进行级联操作。

具体以后做到这个功能再更新。

多对多:

设备和用户多对多,一个用户可有多台设备,一个设备可供多个用户使用。

首先设备表 dev:

用户表 user:

然后创建中间表user_dev      其中user_id 对应user表id  dev_id对应dev表dev_id:

可以在user_dev表设置外键关联:

(这里添加外键,在我的理解是添加约束,还有级联。如果只是简单的查询一类的操作,外键未必有什么意义)

之后,在进行用户user表的存储操作时候,要注意同时进行user_dev表的存储操作。记录,该用户存在哪个设备上。

下面是查询的例子,要用到关联查询:

查询有用户35096037-941B-4934-9DB1-7DC5497A8DAF的所有设备:

SELECT dev.name FROM dev INNER JOIN user_dev ON user_dev.dev_id=dev.dev_id INNER JOIN user ON user.id='35096037-941B-4934-9DB1-7DC5497A8DAF' and user.id = user_dev.user_id;

查询设备2上的所有用户:

SELECT user.username FROM user INNER JOIN user_dev ON user_dev.user_id=user.id INNER JOIN dev ON dev.dev_id='2' and user_dev.dev_id = dev.dev_id;

之后具体有什么实践方面心得再更新。

mysql 多对多_mysql多对一、多对多查询实践相关推荐

  1. mysql 架构优化_Mysql 架构及优化之-查询性能优化

    ①②③④⑤⑥⑦⑧⑨ 查询执行基础知识 mysql执行查询过程 ① 客户端将查询发送到服务器 ② 服务器检查查询缓存 如果找到了就从缓存返回结果 否则进行下一步 ③ 服务器解析,预处理和优化查询,生成执 ...

  2. php mysql 排名算法_MySQL PHP:优化排名查询和计数子查询

    这是原始数据,并希望根据得分(count(tbl_1.id))对它们进行排名. [tbl_1] =========== id | name =========== 1 | peter 2 | jane ...

  3. mysql本周函数_MySQL的YEARWEEK函数以及查询本周数据_MySQL

    bitsCN.com MySQL的YEARWEEK函数以及查询本周数据 MySQL 的 YEARWEEK 是获取年份和周数的一个函数,函数形式为 YEARWEEK(date[,mode]) 例如 20 ...

  4. mysql repair 索引_mysql 问题记录(1) 全文索引查询问题及使用方法

    问题描述:使用全文索引,查询某些单词,比如beijing,of,to,also等等.查询失败... 测试表结构: 测试表数据: 查询失败分析: 1."beijing"查询失败,是因 ...

  5. mysql 只读账号_MySql主从复制,从原理到实践!

    本文将从MySql主从复制的原理出发,详细介绍MySql在Docker环境下的主从复制搭建,以一个主实例和一个从实例实现主从复制为例. 什么是主从复制? 主从复制是指将主数据库的DDL和DML操作通过 ...

  6. mysql 交叉统计_Mysql静态行列转换交叉查询

    技术要点1 最近再做服务评价统计的时候使用到了Mysql静态行列转换交叉查询,弄了一个小例子. 假设有张学生的表(CJ)如下            要期望查询如下的交叉表 name  subject ...

  7. mysql bit类型_Mysql:bit类型的查询与插入

    mysql有种字段类型是bit. 1.如何插入呢? 它的插入必须采用: 可以使用b'value'符号写位字段值.value是一个用0和1写成的二进制值. mysql> create table ...

  8. mysql 合并函数_MySQL GROUP_CONCAT()函数 -- 字段合并查询

    在做查询的时候遇到一个问题,今天分享一下解决方法. 先看一下我想要什么效果. 清单名称类型要点,后面两列为清单步骤(外键表) 但我并不想让主表的内容重复那么多遍,于是 distinct去重.子查询.左 ...

  9. 数据库mysql自然连接_MySQL数据库之多表查询natural join自然连接

    自然连接 概念 自动判断条件连接,判断的条件是依据同名字段 小结 表连接是通过同名字段来连接的 如果没有同名字段就返回笛卡尔积 同名的连接字段只显示一个,并且将该字段放在最前面 自然内连接(natur ...

  10. mysql 慢查询优化_MySQL 性能优化之慢查询

    性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...

最新文章

  1. VS2008下直接安装使用Boost库1.46.1版本号
  2. #用construct2做游戏
  3. python max函数_Python max内置函数详细介绍
  4. C:简单的学生信息处理程序实现
  5. Android之WebView网页滚动截图
  6. android 获取webView高度,设置webView高度
  7. linux mysql 修改字符集_linux下mysql修改字符集,远程连接
  8. (21)npm scripts 实现自动化构建的最简方式
  9. ccf运行错误是什么原因_正压送风机运行中叶轮裂纹产生原因是什么?
  10. vs2012 使用mysql_vs2012连接mysql
  11. 计算机术语多态意思,计算机外文翻译测试多态的关系的准则.doc
  12. 通达信插件模板 Purebasic版
  13. mp c2011sp文件服务器,理光Ricoh MP C2011SP驱动
  14. 摘录:《晨间日记的奇迹》
  15. Java自定义类的属性、方法结合数组简单使用
  16. 腾讯Bugly学习了解
  17. ps 图层解锁后变成全格子(全透明)的解决方法
  18. matlab 期权图,如何使用matlab计算期权价格
  19. word制作员工手册教学
  20. 网页脚本注入执行任意代码

热门文章

  1. Visual Studio Code打开项目
  2. Java案例:输出指定范围内纯素数个数
  3. 大数据学习笔记12:搭建伪分布式Spark
  4. 配置Apache服务器的虚拟主机
  5. win7怎么修改服务器端口,win7服务器端口设置方法
  6. python requests返回值为200 但是text无内容_手把手教你使用Python生成图灵智能小伙伴,实现工作助手闲聊功能
  7. bzoj4820 [Sdoi2017]硬币游戏 高斯消元+概率+kmp
  8. python在匿名函数作和_python之路——内置函数和匿名函数
  9. python比javascript快多少_为什么Python比C++慢很多?
  10. mosquitto源码分析(二)