首页 > 数据库 >Mysql的视图使用场景笔记

Mysql的视图使用场景笔记

时间:2022-08-28 23:00:06浏览次数:81  
标签:语句 张表 Mysql list 笔记 列表 视图 sql

mysql的视图本质上就是一条预定义的联表查询sql语句

当设计一个数据库模型的时候,各个数据表模型之间的关系在一定程度上是独立的,即使两个数据模型表之间存在一对多或者多对多的关联关系时,通常的做法是在B表中添加A表的主键进行关联,多对多则使用中间表,而不是设置外键(设置外键不利于表的扩展)

引入视图就是为了简化代码中的sql语句,比如列表查询的时候,需要展示3张表,乃至多张表的时候,如果不适用视图的话,那么列表查询时或者数据统计时需要编写大量的重复sql语句很容易出错,此时就可以使用navicat工具中的视图设计器,将list列表统计页表头中涉及多张表字段信息的多张表设计为一张列表视图,那么此时在代码中编写列表页与数据统计时的sql将会非常的方便与简洁

可能遇到的问题:

对视图的列表页进行分组时,聚合后的视图字段可能存在多个相同字段(例如视图的多张源表均有id字段),那么分组聚合时可能导致以下问题的出现

参考:1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains解决

解决方案(推荐使用第三种方案):SELECT list is not in GROUP BY clause and contains nonaggregated column

标签:语句,张表,Mysql,list,笔记,列表,视图,sql
From: https://www.cnblogs.com/hhddd-1024/p/16634327.html

相关文章

  • Flyway管理数据库MySQL5.7入坑记录(二)
    在成功加入Flyway的Gradle的插件后,在Gradle的任务中选择flyway->flywayMigrate,进行数据库迁移操作,于是出现下面的问题。第二坑:执行flyMigrate出现错误信息:flywayNodatab......
  • Python学习笔记(十一)-- Django API RESTful
    1.Django restframework之序列化https://www.cnblogs.com/midworld/p/11380194.html  2.写API的三个重点(1)路由;(2)视图类(提供给用户访问相当于原来的视图函数);(3)序列化......
  • 【笔记】Oracle 窗口函数
    Oracle窗口函数简单来说,窗口函数是分析函数的一种,通常可以理解成over()函数构成:函数名①()over(partitionby分组的列名orderby排序的列名XXX)XXX是指特殊使用的......
  • 使用idea中的mysql可视化工具,出现[42000][1064] You have an error in your SQL synta
    今天使用idea中mysql的可视化工具进行开发,当我想要插入一行数据时,发现无法插入,产生如下错误。   [42000][1064]YouhaveanerrorinyourSQLsyntax;checkthe......
  • Spring学习笔记(二)
    1.SpringIOC1.1控制反转IOC在传统的Java应用中,一个类想要调用另一个类中的属性或方法,通常会先在其代码中通过newObject()的方式将后者的对象创建出来,然后才能实现......
  • 8/28 深入理解计算机系统笔记 内存映射
    9.8内存映射定义:将一个虚拟内存区域和一个磁盘上的对象关联起来,以初始化这个虚拟内存区域的内容的过程被称为内存映射。虚拟内存区域可以映射到下面两种类型的对象中的......
  • 8/28 深入理解计算机系统笔记 动态内存分配
    9.9动态内存分配动态内存分配器维护一个进程的虚拟内存区域,称为堆。对于每个进程,内核维护一个变量brk,它指向堆的顶部。分配器将堆视做一组不同大小的块的集合来维护。......
  • tcpip详解-读书笔记
    TCP/IP详解卷一第一版读书笔记第一章:应用层关心是应用程序的细节,而不是数据在网络中对的传输活动,下三层对应用程序一无所知,但他们要处理所有的通信细节。七层代理可......
  • MySQL Others -- 服务正常关闭流程
    MySQL正常关闭流程下面信息抄自爱可生开源社区当MySQL服务收到关闭服务的SIGINT信号后,进行如下处理:启动关机进程创建shutdown线程(如果需要)停止接受新连接处理已......
  • MySQL
    MySQL开源的MySQL库表结构:增删改查数据类型:1.结构化:表格数据,字段,固定格式2.非结构化:图片,视频文件3.半结构化:HTML,XML等,JSON格式的数据--->其实就是一种数据的格式用......