一、疑问

1.varchar  与 char  区别

答:char 只能存储指定的字符长度,varchar存储的字符长度是可变动的

例子 char(10),varchar(10) ,10代表是字符长度是10,char表示只能存储10个字符大于10不存储小于10也按10个位置来,varchar,存入多少就按多少来。

char优缺点:效率高,与varchar相比浪费内存。

varchar优缺点; 节省空间,效率低。

2.select * from t1 where nid in (1,2,3)  代码意思;

答:只显示规定的数据

3.mysql 如何实现区间查询;

答:select * from preson where nid betwenn 2 and 5;

4.查询到的内容如何排序   提示:desc

5.限制   代码提示:

select *from 表 limit 5;          - 只显示前5行;

6.分组(聚合函数) 代码提示:select from t1 group by partment

:select count(nid2) from t1 group by partment

:select count(nid) from t1 group by partment having count(nid)>2;

#sum avg min max

答:

select numfrom 表group by num  # num列中只显示不重合的

7.利用t2搜索t1(跨表操作)代码提示: select name email from t1 where nit in (1,2,3)

:select name email from t1 where nit in(select nid from t2)

答: 显示t1中的name和email  前提是:nid 是 t2表中的nid

8.查询到的结果重新命名,代码提示: select name as n ,email from t1;

答:修改得到结果的表头为 'n'

9.核实 pymysql 在执行完插入、更新、删除后 返回的结果是什么;

答:结果是个num数值,表示删几行、增加几行、修改了几行。

10.pymysql 获取插入内容的id;

答:new_id = cursor.lastrowid  既可以获取新增数据的行数;

二、一对多与多对多

a.一多对多

1、你所认识的一对多;

答:就是一个表要利用另一个表的数据,不用再重新造重复的数据而产生的机制;

一对多 是指:主表中的一项可以与副表中的某一项有关系(一夫一妻制);

2.1、 Navicat for MySQL 实现一对多;

答:实现成功,注意事项,最好在新建立表的时候就把外键一块给创建了,要不然后面很麻烦

表设计==> 外键==>栏位(自己要借鉴的列)==>参考表==>参考的栏位==>ctrl+s

2.2、  代码实现;

CREATE TABLE person1(

nid INT (11) AUTO_INCREMENT,

NAME VARCHAR (32),

email VARCHAR (32),

part_nid INT,

PRIMARY KEY (nid),--KEY fk_xxx (part_nit),

CONSTRAINT fk_xxx FOREIGN KEY (part_nid) REFERENCES part1 (nid)

)

代码实现外键

2.3、  代码删除和添加一对多;

删除:alter table person1 drop foreign key fk_xxx

添加:alter table person1 add constraint fk_xxx foreign key(part_nid) references part1(nid)

3、实现一对一及一对多的查询:

要求:分别用 left join、inner join 灵活实现;未能实现

普通条件查询   SELECT person.name,part1.nidd from person,part1 where person.nid = part1.nidd

一张表的关联查询:

select * from 主表 left join 副表 on 主表关联列 = 副表关联列   where ...

与多张表的关联查询:

select * from 主表

left join 副表 on 主表关联列 = 副表关联列

left join 副表 on 主表关联列 = 副表关联列

where ...

还有 inner join  与 right join   功能 都差不多。

b.多对多

1、你是如何理解多对多的;

多对多 是指:主表中的一项可以与副表中的多项有关系(一夫多妻制);

2、Navicat for MySQL 实现多对多,提示:创建表一,表二、表三、  利用表三建立表一与表二的关系;

答:完成

3、实现灵活查找 提示 利用join

select * from 主表

left join 副表1 on 主表关联列 = 副表1关联列

left join 副表2 on 主表关联列 = 副表2关联列

where ...

mysql是怎么实现多对多的_mysql复习篇及一对多和多对多的总结(17.6.26 )相关推荐

  1. mysql中建立一对多映射_Mybatis中的高级映射一对一、一对多、多对多

    学习hibernate的时候,小编已经接触多各种映射,mybatis中映射有到底是如何运转的,今天这篇博文,小编主要来简单的介绍一下mybatis中的高级映射,包括一对一.一对多.多对多,希望多有需要 ...

  2. mysql多对多关系的理解,由一对多看向多对多

    先看一对多 学生表 create table student(      id int primary key auto_increment,      name varchar(20) ); 一个班 ...

  3. 数据库关联映射建表图示(一对多、多对多)

    数据库关联映射建表图示(一对多.多对多) ~总结一下数据库的 一对多.多对一.一对一.多对多 关系 以及对应的建表方式~ 关联映射:一对多/多对一 存在最普遍的映射关系,简单来讲就如球员与球队的关系: ...

  4. mysql一对一级联_MySQL 表的一对一、一对多、多对多问题

    将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三种:一对一,一对多(多对一)和多对多,所有的关系都是表与表之间的关系; 一对一 一对一:一张表的一条记录只能与另外一条记录进行对应,反之亦然 ...

  5. mysql一对一外键约束_MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表...

    我们在同一数据库创建的表时候,很多时候会出现相同数据的冗余问题,也就是说几个id会有一个或者同n个相同字段,这样就导致数据表结构数据重复冗余, 冗余还无所谓,关键是如果我要改其中一个相同的字段信息,其 ...

  6. MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表

    阅读目录 一.引言: 二.一对多(foreign key) 三.多对多: 四.一对一: 五.修改表: 六.复制表: 摘要: 外键 一对多 外键 多对多 外键 一对一 一.引言: 我们在同一数据库创建的 ...

  7. include_fns.php_一步一步教你用PHP+MySql筹建网站 No.3 管理页面_mysql

    一步一步教你用PHP+mysql搭建网站 No.3 管理页面 先来看一下本篇blog将要介绍的内容. 我们的主页面已经搭建完成了,然后左边的navigation里面的大部分内容也都能点击了,只剩下&q ...

  8. 利用mysql上传木马_通过Mysql语句生成后门木马的方法_MySQL

    通过Mysql 的语句生成后门木马的方法! SELECT * FROM `vbb_strikes` WHERE 1 union select 2,3,0x3C3F7068702073797374656 ...

  9. mysql 设置某个字段等于某个字段_MySQL基本使用

    SQL简介 1.什么是SQL? Structured Query Language : 结构化查询语言 定义了操作所有关系型数据库的规则.每一种数据库操作的方式存在不一样的地方,称为"方言& ...

最新文章

  1. 【论文解读】腾讯FAT | 未来感知的多样化趋势推荐框架
  2. 字符定长文件Linux怎么生成,Linux中的more命令-逐页显示长文本文件
  3. 通过BizTalk WCF适配器实现异构数据库/系统间的数据同步
  4. 24个 CSS 高级技巧合集
  5. JavaScript数据结构——集合(Set)
  6. python3.3psutil模块安装_详解Python3.6安装psutil模块和功能简介
  7. C++常见谬误总结(1)
  8. 图像处理库Pillow
  9. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_01-项目概述-功能构架-项目背景...
  10. 字符串低位优先排序真的只能排序字符串相同的字符么?
  11. 2023东华大学计算机考研信息汇总
  12. 什么是SVC?AVC和SVC有什么区别
  13. 报修下单上门维修小程序开发制作
  14. Android开发所需要的矩阵知识
  15. 【算法】机器人走迷宫(适用于走迷宫、最短路径算法)-20200412
  16. QUOTED_IDENTIFIER选项设置不正确
  17. 计算概论(一)计算起源、图灵机、计算原理
  18. Chrome书签插件,让你实现高效整理
  19. centOS6.5中部署java调用h2o中python包环境
  20. 应用进程占内存大问题分析方法

热门文章

  1. 基于OpenXR,Collabora推开源VI-SLAM AR/VR定位系统
  2. 利用Java实现的图片中文字识别,你学会了吗?
  3. 小白静态路由配置教程,备份接口和缺省路由。
  4. VSPD虚拟串口工具——使用完一定要删除串口
  5. 倍福PLC--C#实现ADS通信超时重传设定
  6. wmv文件不能快进的解决方法
  7. 北京个体户税务申报如何办理?
  8. 【产业互联网周报】百度、金山、用友发布最新财报,披露智能云相关业务进展...
  9. 关于5G手机,你想知道的都在这里了-千氪
  10. 泰山OFFICE技术讲座:由中英文混排,谈间距kerning