MySQL——DQL、多表设计

server/2025/3/5 10:53:12/

目录

一、DQL

1.基本查询

2.条件查询

3.分组查询

4.排序查询

5.分页查询

二、多表设计

1.一对多

2.一对一

3.多对多


一、DQL

1.基本查询

注意:

 *号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)

2.条件查询

运算符:

 

3.分组查询

聚合函数:将一列数据作为一个整体,进行纵向计算

语法:

select 聚合函数(字段列表)from 表名;

注意:

1.null值不参与所有聚合函数运算

2.统计数量可以使用:count(*) count(字段) count(常量),推荐使用count(*)

where和having区别:

 1.执行时机不同:where是分组之前进行的过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤

2.判断条件不同:where不能对聚合函数进行判断,而having可以

4.排序查询

注意:

 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

5.分页查询

注意:

 1.起始索引从0开始,起始索引=(查询页码-1)*每页显示数据数

 2.分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT

 3.如果查询的是第一页数据,起始索引可以省略,直接写成limit 10

设置名称:

二、多表设计

1.一对多

数据库表中多的一方,添加字段,来关联一的一方的主键

外键:

2.一对一

在任意一方加入外键,关联另一方的主键,并且设置外键为唯一的

3.多对多

建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

 


http://www.ppmy.cn/server/172584.html

相关文章

FastGPT 引申:知识库辅助开发(代码符号自动提取与文件匹配工具详解)

文章目录 FastGPT 引申:知识库辅助开发(代码符号自动提取与文件匹配工具详解)1. 符号提取 prompt2. 文件查询 prompt3. 总结 FastGPT 引申:知识库辅助开发(代码符号自动提取与文件匹配工具详解) 在开发过程…

C# 类库打包dll文件

目录 前言操作流程注意事项 前言 在C#中,有多种方式可以对代码进行加密,以保护源代码不被轻易查看或修改,这篇文章主要介绍将C# cs类文件加密为dll文件的方式进行保护。 操作流程 在 Visual Studio 中,选择“创建新项目”。 选…

UDP协议(20250303)

1. UDP UDP:用户数据报协议(User Datagram Protocol),传输层协议之一(UDP,TCP) 2. 特性 发送数据时不需要建立链接,节省资源开销不安全不可靠的协议 //一般用在实时性比较高…

《基于Selenium的网页聊天室自动化测试实战报告》

一、项目背景与技术选型 项目简介 目标系统:基于WebSocket的实时聊天室 核心功能:用户注册/登录、会话框发送信息、好友列表、信息发送 技术栈:html Springboot MySQL数据库 为什么选择Selenium 支持多浏览器兼容性测试(Chr…

权限系统设计方案实践(Spring Security + RBAC 模型)

前言 权限系统设计基本上是所有项目中都会涉及的一个重要部分。通过权限系统,我们将对用户角色、功能模块访问进行限制,从而保证系统安全性。本文将介绍中大型项目中常用的一套权限系统设计方案,通过 SpringSecurity 安全管理框架&#xff0c…

利用Git和wget批量下载网页数据

一、Git的下载(参考文章) 二. wget下载(网上很多链接) 三、git和wget结合使用 1.先建立一个文本,将代码写入文本(代码如下),将txt后缀改为sh(download_ssebop.sh&#xf…

centos搭建 Node.js 开发环境

Node.js ,通常简称为Node,是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Chrome V8引擎,具备速度快、性能强等特点,可用于搭建各类网络应用,及作为小程序后端服务环境。npm 和 npx 都是和 Node.js 相关的…

C语言文件操作学习笔记:从基础到实践

在C语言的知识体系中,文件操作是极为关键的一环,它赋予了程序存储和读取外部数据的能力,对于开发各类实用程序至关重要。近期,借助课程的学习,我对C语言文件操作进行了系统且深入的学习,下面将我的学习心得…