MySQL数据库笔记(二)

第一章 单行函数

1.1 什么是函数

函数的作用是把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在SQL中使用函数,极大地提高了用户对数据库的管理效率。

1.2 定义

操作数据对象。

接受参数返回一个结果。

只对一行进行变换。

每行返回一个结果。

可以嵌套。

参数可以是一列或一个值。

1.3 函数分类

1.3.1 数值函数

1.3.2 角度与弧度互换函数

1.3.3 三角函数

1.3.4 指数与对数

1.3.5 进制间的转换

1.3.6 字符串函数

注意:字符串的位置是从1开始的。

1.3.7 日期和时间函数

获取日期、时间:

日期与时间戳:

获取月份、星期、星期数、天数等函数:

时间和秒钟转换的函数:

计算日期和时间的函数:

日期的格式化与解析:

1.3.8 流程控制函数

1.3.9 加密与解密

第二章 聚合函数

2.1 什么是聚合函数

聚合函数作用于一组数据,并对一组数据返回一个值。

2.2 聚合函数类型

AVG(),SUM(),MAX(),MIN(),COUNT()

聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。

2.3 GROUP BY

SELECT column,group_function(column)
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[ORDER BY column];

2.4 GROUP BY中使用WITH ROLLUP

使用WITH ROLLUP关键字字后,在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。

SELECT department_id,AVG(salary)
FROM employee
WHERE department_id>80
GROUP BY department_id WITH ROLLUP;

注意:当使用ROLLUP时,不能同时使用ORDER BY 子句进行结果排序,即ROLLUP和ORDER BY是互相排斥的。

2.4 HAVING

过滤分组:HAVING子句

1、行已经被分组

2、使用聚合函数

3、满足HAVING子句中条件的分组将被显示。

4、HAVING不能单独使用,必须要跟GROUP BY一起使用。

SELECT column,group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];

非法使用聚合函数:不能在WHERE子句中使用聚合函数。

 WHERE和HAVING的对比

区别1:WHERE可以直接使用表中的字段作为筛选条件,但不能使用分组中的计算函数作为筛选条件;HAVING必须要与GROUP BY配合使用,可以把分组计算的函数和分组字段作为筛选条件。

区别2:如果需要通过连接从关联表中获取需要的数据,WHERE是先筛选后连接,而HAVING是先连接后筛选。

2.5 SELECT的执行过程

2.5.1 查询结构

SELECT
FROM
WHERE 多表的连接条件
AND 不包含组函数的过滤条件
GROUP BY
HAVING 包含组函数的过滤条件
ORDER BY ASE/DESC
LIMIT
#其中:
#1、from:从哪些表中筛选
#2、where:从表中筛选的条件
#3、group by:分组依据
#4、having:在统计结果中再次筛选
#5、order by:排序
#6、limit:分页

2.5.2 SELECT执行顺序

1.关键字的顺序是不能颠倒的:

SELECT...FROM...WHERE...GROUP BY...HAVING...ORDER BY...LIMIT...

2.SELECT语句的执行顺序:

FROM->WHERE->GROUP BY->SELECT->ORDER BY->LIMIT

第三章 子查询

3.1 定义

子查询指一个查询语句嵌套在另一个查询语句内部的查询。

3.2 子查询基本使用

语法结构:

SELECT select_list
FROM table
WHERE expr operator(SELECT select_listFROM table);

子查询(内查询)在主查询之前一次执行完成。

子查询的结果被主查询(外查询)使用。

注意事项:

子查询要包含在括号内

将子查询放在比较条件的右侧

单行操作符对应单行子查询,多行操作符对应多行子查询

3.3 子查询的分类

单行子查询:

单行子查询操作符:

多行子查询:

多行子查询操作符࿱

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/361514.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用PEFT库进行ChatGLM3-6B模型的LORA高效微调

PEFT库进行ChatGLM3-6B模型LORA高效微调 LORA微调ChatGLM3-6B模型安装相关库使用ChatGLM3-6B模型GPU显存占用准备数据集加载模型加载数据集数据处理数据集处理配置LoRA配置训练超参数开始训练保存LoRA模型模型推理从新加载合并模型使用微调后的模型 LORA微调ChatGLM3-6B模型 本…

【SpringSecurity】认证与鉴权框架SpringSecurity——授权

目录 权限系统的必要性常见的权限管理框架SpringSecurity授权基本流程准备脚本限制访问资源所需权限菜单实体类和Mapper封装权限信息封装认证/鉴权失败处理认证失败封装鉴权失败封装配置SpringSecurity 过滤器跨域处理接口添加鉴权hasAuthority/hasAnyAuthorityhasRole/​ hasA…

node mySql 实现数据的导入导出,以及导入批量插入的sql语句

node 实现导出, 在导出excel中包含图片(附件) node 实现导出, 在导出excel中包含图片(附件)-CSDN博客https://blog.csdn.net/snows_l/article/details/139999392?spm1001.2014.3001.5502 一、效果 如图: 二、导入 …

声场合成新方法:基于声波传播的框架

声场合成是指在房间内的麦克风阵列上,根据来自房间内其他位置的声源信号,合成每个麦克风的音频信号。它是评估语音/音频通信设备性能指标的关键任务,因为它是一种成本效益高的方法,用于数据生成以替代真实的数据收集,后…

elasticsearch的安装和配置

单节点安装与部署 我们通过docker进行安装 1.docker的安装 如果以及安装了docker就可以跳过这个步骤。 首先更新yum: yum update安装docker: yum install docker查看docker的版本: docker -v此时我们的docker就安装成功了。 2.创建网络 我们还需要部署kiban…

盲源信道分离—FastICA算法性能仿真

本案例中使用Matlab软件对FastICA算法的声音分离性能进行了仿真,分别对简单波形的混合信号、不同类型声音的混合信号、同一类型的混合信号这三种情况进行仿真,主要从分离信号的波形形状、串音误差两方面对分离性能进行衡量,仿真结果显示快速I…

可以一键生成热点营销视频的工具,建议收藏

在当今的商业环境中,热点营销已经成为了一种非常重要的营销策略。那么,什么是热点营销呢?又怎么做热点营销视频呢? 最近高考成绩慢慢公布了,领导让结合“高考成绩公布”这个热点,做一个关于企业或产品的营销…

3.任务的创建与删除

1.什么是任务? 任务可以理解为进程/线程,创建一个任务,就会在内存开辟一个空间。 任务通常都含有while(1)死循环 2.任务创建与删除相关的函数 3.CUBEMAX相关配置 编辑一个led1闪烁的任务

RPC架构基本结构和核心技术

当你在构建一个分布式系统时,势必需要考虑的一个问题是:如何实现服务与服务之间高效调用?当然,你可以使用Dubbo或Spring Cloud等分布式服务框架来完成这个目标,这些框架帮助我们封装了技术实现的复杂性。那么&#xff…

Gitlab合并代码并解决冲突演示

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Jenkins定时构建自动化(二):Jenkins的定时构建

目录 ​编辑 一、 jenkins定时构建语法: 1. 语法规则: 2. 常见用法举例 3. 再次举例 接上一篇:Jenkins定时构建自动化(一):Jenkins下载安装配置:Jenkins定时构建自动化(一):Jenkins下载安装配置-CSDN博客 …

input()函数——输入

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 input()函数可以提示并接收用户的输入,将所有的输入按照字符串进行处理,并返回一个字符串,input()函数的…

化茧成蝶 | 继HuggingFace首家落地大模型具身智能场景

关于具身智能的起源 近年来,大语言模型(LLMs)的兴起给机器人领域带来了革命性的改变,大模型赋予了传统机器人理解和推理的能力,让具身智能这一概念再度出现在大众的视角中。OpenCSG 作为国内 AI 开源社区的先锋&#…

python flask 入门-helloworld

学习视频链接: 01-【前奏】课程介绍_哔哩哔哩_bilibili 1.安装flask pip install flask 踩坑记:本机不要连代理,否则无法install 提示报错valueError: check_hostname requires server_hostname 2.程序编写 在根目录下创建 app.py fr…

从零开始学docker(四)-安装mysql及主从配置(一)

mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关…

【HDC.2024】华为云Astro低代码平台开启AI敏捷组装时代,探索低代码创新无限可能

6月22日,华为开发者大会2024期间,华为云举办了以“敏捷组装时代来临「高低零码智能协同」加速行业创新”为主题的Astro低代码平台专题论坛。论坛汇聚了业界精英和专家学者,共同探讨低代码技术在推动企业数字化转型中的重要实践及未来发展趋势…

cs与msf权限传递,与mimikatz抓取win2012明文密码

CS与MSF的权限互相传递抓取windows2012的明文密码 CS与MSF的权限互相传递 1、启动cs服务端 2、客户端连接 3、配置监听,并设置监听端口为9999 4、生成脚本 5、开启服务,下载并运行木马 已获取权限 6、进入msf并设置监听 7、cs新建监听,与m…

【Linux】UDP协议

目录 传输层端口号netstat端口号范围划分认识知名端口号(Well-Know Port Number) UDP协议UDP协议端格式UDP的特点UDP的缓冲区UDP使用注意事项基于UDP的应用层协议 传输层 通过前面文章对于应用层的讲解,我们知道应用层主要是将我们的数据按照协议的格式进行划分&am…

注册安全分析报告:PingPong

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

Day15 —— 大语言模型简介

大语言模型简介 大语言模型基本概述什么是大语言模型主要应用领域大语言模型的关键技术大语言模型的应用场景 NLP什么是NLPNLP的主要研究方向word2vecword2vec介绍word2vec的两种模型 全连接神经网络神经网络结构神经网络的激活函数解决神经网络过拟合问题的方法前向传播与反向…