mysql 多对多_mysql多对一、多对多查询实践
最近做的功能涉及这方面,算是练了一下。
首先多对一部分较简单。多的那一方表,多设置一个字段是少的那一方的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多对一、多对多查询实践相关推荐
- mysql 架构优化_Mysql 架构及优化之-查询性能优化
①②③④⑤⑥⑦⑧⑨ 查询执行基础知识 mysql执行查询过程 ① 客户端将查询发送到服务器 ② 服务器检查查询缓存 如果找到了就从缓存返回结果 否则进行下一步 ③ 服务器解析,预处理和优化查询,生成执 ...
- php mysql 排名算法_MySQL PHP:优化排名查询和计数子查询
这是原始数据,并希望根据得分(count(tbl_1.id))对它们进行排名. [tbl_1] =========== id | name =========== 1 | peter 2 | jane ...
- mysql本周函数_MySQL的YEARWEEK函数以及查询本周数据_MySQL
bitsCN.com MySQL的YEARWEEK函数以及查询本周数据 MySQL 的 YEARWEEK 是获取年份和周数的一个函数,函数形式为 YEARWEEK(date[,mode]) 例如 20 ...
- mysql repair 索引_mysql 问题记录(1) 全文索引查询问题及使用方法
问题描述:使用全文索引,查询某些单词,比如beijing,of,to,also等等.查询失败... 测试表结构: 测试表数据: 查询失败分析: 1."beijing"查询失败,是因 ...
- mysql 只读账号_MySql主从复制,从原理到实践!
本文将从MySql主从复制的原理出发,详细介绍MySql在Docker环境下的主从复制搭建,以一个主实例和一个从实例实现主从复制为例. 什么是主从复制? 主从复制是指将主数据库的DDL和DML操作通过 ...
- mysql 交叉统计_Mysql静态行列转换交叉查询
技术要点1 最近再做服务评价统计的时候使用到了Mysql静态行列转换交叉查询,弄了一个小例子. 假设有张学生的表(CJ)如下 要期望查询如下的交叉表 name subject ...
- mysql bit类型_Mysql:bit类型的查询与插入
mysql有种字段类型是bit. 1.如何插入呢? 它的插入必须采用: 可以使用b'value'符号写位字段值.value是一个用0和1写成的二进制值. mysql> create table ...
- mysql 合并函数_MySQL GROUP_CONCAT()函数 -- 字段合并查询
在做查询的时候遇到一个问题,今天分享一下解决方法. 先看一下我想要什么效果. 清单名称类型要点,后面两列为清单步骤(外键表) 但我并不想让主表的内容重复那么多遍,于是 distinct去重.子查询.左 ...
- 数据库mysql自然连接_MySQL数据库之多表查询natural join自然连接
自然连接 概念 自动判断条件连接,判断的条件是依据同名字段 小结 表连接是通过同名字段来连接的 如果没有同名字段就返回笛卡尔积 同名的连接字段只显示一个,并且将该字段放在最前面 自然内连接(natur ...
- mysql 慢查询优化_MySQL 性能优化之慢查询
性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...
最新文章
- VS2008下直接安装使用Boost库1.46.1版本号
- #用construct2做游戏
- python max函数_Python max内置函数详细介绍
- C:简单的学生信息处理程序实现
- Android之WebView网页滚动截图
- android 获取webView高度,设置webView高度
- linux mysql 修改字符集_linux下mysql修改字符集,远程连接
- (21)npm scripts 实现自动化构建的最简方式
- ccf运行错误是什么原因_正压送风机运行中叶轮裂纹产生原因是什么?
- vs2012 使用mysql_vs2012连接mysql
- 计算机术语多态意思,计算机外文翻译测试多态的关系的准则.doc
- 通达信插件模板 Purebasic版
- mp c2011sp文件服务器,理光Ricoh MP C2011SP驱动
- 摘录:《晨间日记的奇迹》
- Java自定义类的属性、方法结合数组简单使用
- 腾讯Bugly学习了解
- ps 图层解锁后变成全格子(全透明)的解决方法
- matlab 期权图,如何使用matlab计算期权价格
- word制作员工手册教学
- 网页脚本注入执行任意代码
热门文章
- Visual Studio Code打开项目
- Java案例:输出指定范围内纯素数个数
- 大数据学习笔记12:搭建伪分布式Spark
- 配置Apache服务器的虚拟主机
- win7怎么修改服务器端口,win7服务器端口设置方法
- python requests返回值为200 但是text无内容_手把手教你使用Python生成图灵智能小伙伴,实现工作助手闲聊功能
- bzoj4820 [Sdoi2017]硬币游戏 高斯消元+概率+kmp
- python在匿名函数作和_python之路——内置函数和匿名函数
- python比javascript快多少_为什么Python比C++慢很多?
- mosquitto源码分析(二)