mysql表关联问题(第二卷:外键1对多之2)
接着上一卷内容我们继续:
上卷我用的查询语句我们可以看到全部数据,很明显这样的方式查找的数据并不详细:
SELECT * FROM usr LEFT JOIN fzu ON usr.fzu = fzu.id WHERE fzu.fzu = 'A';我在之前语句的后面拼接了个where语句
看下结果:

多么完美的查询
现在悲催的是你的BOSS又加需求了,加需求这东西不先说是真烦人现在加的需求是根据玩家玩游戏的能力表现,把游戏玩家分为红色,绿色,橙色,紫色四个等级,说实话一个产品/项目经理的大局观很重要一个问题考虑不细致会导致后期整个项目的进度延期,这不光是管理层要想到,员工也要想到。
那么 现在肯定是要新建个颜色表了
(1)创建新表


很明显这个表是要与user表做关联,先来看下usr表:

很明显没有与颜色相关联的字段。
(2)向usr表添加字段:
alter table usr add yans int(20) NOT NULL COMMENT '颜色';
看下结果:

这个yans字段都为0,因为要与颜色表做关联所以ussr表中yans这个字段只能取1,2,3,4
向字段插入数据:
update usr set yans=2 where id=1;以此类推
查询下结果:

(3)测试关联查询:
SELECT * FROM usr LEFT JOIN yans ON usr.fzu = yans.id;

成功的又做了个关联表
现在是一表对多表了:
(4)1对多关联查询

看到了吧 一表对多表

再来个精确查询
现在解决了 1对1 与1对多的问题
mysql表关联问题(第二卷:外键1对多之2)的更多相关文章
- mysql表创建好后添加外键
命令:alter table 需加外键的表 add constraint 外键名 foreign key(需加外键表的字段名) referencnes 关联表名(关联字段名); 注意:外键名不能重复
- MySQL开发——【多表关系、引擎、外键、三范式】
多表关系 一对一关系 一对多或多对一关系 多对多关系 MySQL引擎 所谓的MySQL引擎就是数据的存储方式,常用的数据库引擎有以下几种: Myisam与InnoDB引擎之间的区别(面试) ①批量插入 ...
- 解决MySQL在修改列时因为外键依赖出错的问题
因为 favorite_food 中的 person_id 对 person 表中的 person_id 有外键依赖关系,所以在执行 ALTER TABLE person MODIFY person_ ...
- MySQL入门(alter语法 与 外键)
MySQL入门(三) 字段的修改.添加.与删除 修改表字段使用alter table语句,谨记! create table tf1( id int primary key auto_increment ...
- MySQL基础day03 存储引擎和外键MySQL 5.6
MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 M ...
- contentType 应用,(表中数据大量存在外键时使用)
当表中有大量的foreignkey 外键时,而且后期还有可能加入一些外键时, 使用django自带的contenttype表(表结构是app名和表的对应的每个类字段) 1. Django 中的 con ...
- Oracle 创建数据表以及对数据表、字段、主外键、约束的操作
选择主键的原则: 最少性 尽量选择使用单个键作为主键 稳定性 尽量选择数值更新少的列作为主键 1.创建数据表(CREATE TABLE) --创建数据表Student create table Stu ...
- mysql表关联问题(第三卷:外键多对多)
现在我们整理一下多对多的问题,举个例子现在一个男的可能和多个女的谈过恋爱,一个女的也可能和多个男的谈过恋爱,把他们恋爱的关系整理为数据关联表就成为了多对多的关系. 准备三张表,男人信息表,女人信息表, ...
- mysql表关联问题(第一卷:外键1对多之1)
表关联的问题在开发中是必不可少的,现在我先简单的谈谈我的学习经验.先来说一下外键一对多的问题. 步骤1:准备数据: (1)设计模拟场景: 一个游戏为了测试游戏的运行情况,招来了一批用户来试玩,现需要录 ...
- mysql 触发器实现级联删除有外键的多张表
2019-10-12 10:17:44 1.数据,建表时有可能会报错,只需要把前三行注释删掉就行 -- ---------------------------- -- Table structure ...
随机推荐
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之数字类型(number)
Python 数字类型(number)用于存储数值.数据类型是不允许改变的,这就意味着如果改变number数据类型的值,将重新分配内存空间. 1. 一个简单的示例: # 以下实例在变量赋值时数字类 ...
- 项目常用JS方法封装--奋斗的IT青年(微信公众号)
...
- 01 语言基础+高级:1-6 集合_day02【Collection、泛型】
day02[Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合 ...
- StdinNotImplementedError: raw_input was called, but this frontend does not support input requests.
当时VS CODE内嵌的jupyter 交互界面的时候,出现了这个错误 原因是,这样的界面不支持行输入.可以使用cmd终端或其他方式运行该文件进行交互输入
- drf三大认证:认证组件-权限组件-权限六表-自定义认证组件的使用
三大认证工作原理简介 认证.权限.频率 源码分析: from rest_framework.views import APIView 源码分析入口: 内部的三大认证方法封装: 三大组件的原理分析: 权 ...
- GCC的分支预测优化__builtin_expect
智能指针笔记 GCC的原子操作函数 将流水线引入cpu,可以提高cpu的效率.更简单的说,让cpu可以预先取出下一条指令,可以提供cpu的效率.如下图所示: 取指令 执行指令 输出结果 取指令 执行 ...
- PAT甲级——1077.Kuchiguse(20分)
The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...
- layui子弹框调用父弹框方法
var thisFrame = parent.window.document.getElementById("LAY_layuiStampDuty1").getElementsBy ...
- matplotlib学习——设置线条颜色及形状
在图形表示中,不同的画布或画布中不同的函数,我们常常要用不同的形状或颜色来区分开,这里小编向大家介绍这些参数的表示方法: 一.控制颜色 b--blue c--cyan(青色) ...
- Python程序在docker中运行,未找到自定义模块
错误 Traceback (most recent call last): File "demo.py", line 13, in <module> from test ...