MySQL语法2
DQL语句介绍
DQL是数据查询语言,用来查询数据库中表的记录
DQL-基本查询语句
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVIMG
分组后条件列表
ORDER BY
排列字段列表
LIMIT
分页参数
讲解过程:基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询
DQL-基本查询
- 查询多个字段
SELECT 字段1,字段2,字段3,... FROM表名;
SELECT name,wordno
FROM emp;
SELECT * FROM 表名;(查询返回所有字段)
SELECT *
FROM emp
- 设置别名
设置别名SELECT 字段1[AS 别名],字段2[AS 别名]。。。FROM 表名;
SELECT entrydate as '入职日期'
FROM emp;
- 去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
SELECT DISTINCT entrydate as '入职日期'
FROM emp;
DQL-条件查询
1.语法
SELECT * FROM 表名;(查询返回所有字段)
- 条件
| 比较运算符 | 功能 |
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
| = | 等于 |
| <>或!= | 不等于 |
| BETWEEN...AND... | 在某个范围之类(含最小值、最大值) |
| IN(...) | 在in之后的列表中的值、多选一 |
| LIKE占位符 | 模糊匹配(_匹配单个字符,%匹配日任意个字符) |
| IS NULL | 是NULL |
| 逻辑运算符 | 功能 |
| AND或 && | 并且(多个条件同时成立) |
| OR或|| | 或者(多个条件任意一个成立) |
| NOT或! | 非,不是 |
实例代码:
查询年龄小于20的员工姓名:
SELECT name
FROM emp
WHERE age<20;
查询年龄小于等于20 的员工姓名:
SELECT *
FROM emp
WHERE age<=20;
查询身份证号为空的员工:
SELECT *
FROM emp
WHERE idcard is null;
查询15到20岁之间的员工(不包含):
SELECT *
FROM emp
WHERE 15<age AND age<20;(开区间)
查询15到20岁之间的员工(包含)SELECT *
FROM emp
WHERE age BETWEEN 15 AND 20(含最小值、最大值)
查询15岁、20岁、23岁的员工SELECT * FROM emp WHERE age=18 || age = 20 || age = 23; 与IN()替换效果相同:SELECT * FROM emp WHERE age IN(18,20,23);
查询姓名为三个字的员工信息:
SELECT *
FROM emp
WHERE name like '___';
查询身份证号最后一位为6的员工信息:
SELECT *
FROM emp
WHERE idcard like '%6';
LIKE占位符:模糊匹配(_匹配单个字符,%匹配日任意个字符)
DQL-聚合函数
- 聚合函数:将一列数据作为一个整体,进行纵向计算。
- 常见聚合函数:
| 函数 | 功能 |
| Count | 统计数量 |
| Max | 最大值 |
| Min | 最小值 |
| Avg | 平均值 |
| Sum | 求和 |
- 语法:
SELECT 聚合函数(字段列表) FROM 表名;
实例:
求员工总人数:
SELECT COUNT(*) as'总人数'
FROM emp;
求员工平均年龄:
SELECT avg(age) AS '员工平均年龄'
FROM emp;
求员工中最大年龄:
SELECT max(age) as '最大年龄'
FROM emp;
求员工中最小年龄:
SELECT min(age) AS '最小年纪'
FROM emp;
求员工中男生年龄总和:
SELECT sum(age) AS '男生年龄之和'
FROM emp
WHERE gender = '男';
DQL-分组查询
- 语法:
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
实例:
按照性别分组,显示各个性别人数;
SELECT gender,COUNT(*) as '人数'
FROM emp
GROUP BY gender;
按照性别分组,显示各个性别平均年龄;
SELECT gender ,avg(age) as '平均年龄'
FROM emp
GROUP BY gender;
筛选年龄30以下,按照年龄分组,展示人数大于等于2的:
SELECT age , count(*)
FROM emp
WHERE age <30
GROUP BY age
HAVING count(*)>=2;
- WHERE和HAVING区别
>执行时机不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组:而having是分组之后对对结果进行过滤。
>判断条件不同:WHERE不能对聚合函数进行判断,而HAVING可以。
注意:
- 执行顺序:WHERE>聚合函数>HAVING
- 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
DQL-排序字段列表
- 语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
- 排序方式:
>ASC:升序(默认值)
>DESC:降序
实例:
按员工年龄大小正序排列
SELECT *
FROM emp
ORDER BY age ;
按入职时间长短排序
SELECT *
FROM emp
ORDER BY entrydate;
按年龄大小排序,相同年龄按入职时间倒叙排列
SELECT *
FROM emp
ORDER BY age ,entrydate DESC;
注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
DQL-分页查询(方言:不同数据库语法不同)
- 语法
SELECT 字段列表 FROM 表名LIMIT 起始索引,查询记录数;
实例:
查询第一页,每页展示3条数据
SELECT *
FROM emp
LIMIT 0,3;
查询第二页,每页展示3条数据
SELECT *
FROM emp
LIMIT 3,3;
查询第三页,每页展示3条数据
SELECT *
FROM emp
LIMIT 3,3;
注意:
起始索引从0开始,起始索引= (查询页码 1)每页显示记录数
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT
如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。
DQL-练习:
查询性别为男,年龄为20,21,23的员工;
SELECT *
FROM emp
WHERE gender = '男' AND age IN (20,21,23);
查询年纪20到40之间,姓名为三个字的男生;
SELECT *
FROM emp
WHERE gender= '男'AND name like '___' AND age BETWEEN 20 and 40;
查询年龄小于60,的男女数量;
SELECT gender,count(*)
FROM emp
WHERE age <60
GROUP BY gender;
查询所有小于等于35岁员工的姓名和年纪,并对结果按年龄升序排序,如果年纪相同按入职时间降序排列;
SELECT *
FROM emp
WHERE age <= 35
ORDER BY age ASC, entrydate DESC;
查询性别男,且年龄在20-40岁(含)以内的五个员工,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。
SELECT *
FROM emp
WHERE age BETWEEN 20 and 40 AND gender = '男'
ORDER BY age ,entrydate
LIMIT 0,5;
DQL语句-执行顺序

MySQL-DCL语句
介绍:DCL数据控制语言,用来管理数据库用户、控制数据库的访问权限。
DCL-管理用户:
- 1.查询用户表
USE mysql ;
SELECT * FROM user;
- 创建用户:
CREATE USER ‘用户名’@’主机名’ IDENTIFED BY ‘密码’;
- 修改用户密码:
ALTER USER ‘用户名’@’主机名’ IDEBTIFIED WITH mysql_native_passwoerd BY ‘新密码’;
- 删除用户:
DROP USER ‘用户名’@’主机名’;
查询用户表:
USE mysql;
SELECT * FROM user;
创建用户:
CREATE user 'GUI1'@'%' identified by '123456';
修改用户密码:
ALTER USER 'GUI1'@'%' identified with mysql_native_password by '1234';
删除用户:
drop user 'GUI1'@'%';
DROP USER 'GUI'@'localhoust';
注意:
主机名可以使用%统配。
这类SQL开发人员操作的比较少,主要DBA数据库管理员使用;
DCL-权限控制
| 权限 | 说明 |
| ALL,ALL PRIVILEGES | 所有权限 |
| SELECT | 查询数据 |
| INSERT | 插入数据 |
| UPDATE | 修改数据 |
| DELETE | 删除数据 |
| ALTER | 修改表 |
| DROP | 删除数据库/表/视图 |
| CREATE | 创建数据库/表 |
其他权限描述及其含义,可以参考官方文档
- 查询权限:
SHOW GRANTS FOR ‘用户名’@’主机名’;
- 授予权限:
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@’主机名’;
GRANT ALL on sjk01.* TO 'GUI1'@'%';
- 撤销权限:
REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@’主机名’;
revoke all on sjk01.* from 'GUI1'@'%';
查询权限:
SHOW GRANTS FOR GUI1;
授予权限
GRANT ALL on sjk01.* TO 'GUI1'@'%';
撤销权限:
revoke all on sjk01.* from 'GUI1'@'%';
相关文章:
MySQL语法2
DQL语句介绍 DQL是数据查询语言,用来查询数据库中表的记录 DQL-基本查询语句 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVIMG 分组后条件列表 ORDER BY 排列字段列表 LIMIT 分页参数 讲解过程:基本查询、条件查询…...
Mysql on duplicate key update用法及优缺点
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,一般思路是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql…...
【Linux】-进程概念之进程优先级(如何去进行调度以及进程切换),还不进来看看??
💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …...
《在细雨中呼喊》阅读笔记
《在细雨中呼喊》阅读笔记 2023年2月5号在家读完,本书就是以作者者回忆的形式来写,男一号叫孙光林,有一个哥哥孙光平,一个弟弟叫孙光明,父亲叫孙光才。书中写了四篇故事。 第一篇写的就是作者对于老家生活的回忆 小的时…...
01-1 搭建 pytorch 虚拟环境
pytorch 管网:PyTorch 一 进入 Anaconda 二 创建虚拟环境 conda create -n pytorch python3.9注意要注意断 VPN切换镜像: 移除原来的镜像 # 查看当前配置 conda config --show channels conda config --show-sources# 移除之前的镜像 conda config --…...
RocketMQ 事务消息
事务消息是 RocketMQ 的高级特性之一 。这篇文章,笔者会从应用场景、功能原理、实战例子三个模块慢慢为你揭开事务消息的神秘面纱。 1 应用场景 举一个电商场景的例子:用户购物车结算时,系统会创建支付订单。 用户支付成功后支付订单的状态…...
Windows安装ElasticSearch
安装环境:java环境。新版本需要安装高版本的java,所有本次安装的为 7.x版本的ElasticSearch 。所以要java11 1、安装java11 2、下载 Elasticsearch 安装包 官网地址:(https://www.elastic.co/cn/) 安装包下载地址:https://www…...
【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文
论文:https://arxiv.org/abs/2211.08824 代码:https://github.com/WWangYuHsiang/SMILEtrack 文章目录 AbstractIntroductionRelated WorkTracking-by-DetectionDetection methodData association method Tracking-by-Attention Methodology架构概述外观…...
【Kubernetes】Kubernetes之二进制部署
kubernetes 一、Kubernetes 的安装部署1. 常见的安装部署方式1.1 Minikube1.2 Kubeadm1.3 二进制安装部署2. K8S 部署 二进制与高可用的区别2.1 二进制部署2.2 kubeadm 部署二、Kubernetes 二进制部署过程1. 服务器相关设置以及架构2. 操作系统初始化配置3. 部署 etcd 集群4. 部…...
京东开源的、高效的企业级表格可视化搭建解决方案:DripTable
DripTable 是京东零售推出的一款用于企业级中后台的动态列表解决方案,项目基于 React 和 JSON Schema,旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。 DripTable 目前包含以下子项目:drip-table、drip-table-gene…...
STL C++学习背景
STL C学习背景 背景知识 背景知识 STL前置知识 STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C 提供的一个基础模板的集合,用于完成诸如输入/输出、数…...
C#踩坑:谨慎在XML数据列上绑定鼠标事件!
按照计划,昨天晚上就完成最后的公式自动计算,程序的流程就算完整了,可以正常运行了,一般情况下,是可以完成的。 10点开始干,窗体上放置一个Treeview,然后针对XML对Treeview进行数据绑定…...
逻辑代数运算
逻辑代数运算中的三种基本运算 与(AND):只有满足全部条件,才会产生结果 或(OR) :只要满足一个条件,就会产生结果 非(NOT):只要满足条件ÿ…...
win10笔记本显示器根据页面显示亮度自动调节亮度的问题
系统是win10企业版,针对这个问题查了很多种方法,比如: 1、控制面板->硬件和声音->电源选项->点击当前电源计划的更改计划设置->更改高级电源设置->显示->启用自适应亮度 但是我发现我的电源计划只有平衡这一种,…...
无人驾驶实战-第一课(自动驾驶概述)
在七月算法上报了《无人驾驶实战》课程,老师讲的真好。好记性不如烂笔头,记录一下学习内容。 课程入口,感兴趣的也可以跟着学一下。 ————————————————————————————————————————— 无人驾驶汽车的定义…...
15.节点操作
15.1 DOM节点 1.DOM节点 DOM树里每一个内容都称之为节点 2.节点类型 ●元素节点 所有的标签 比如body、div html是根节点 ●属性节点 所有的属性 比如href ●文本节点 所有的文本 15.2查找节点 1.父节点查找: parentNode属性 返回最近一级的父节点找不到返回为n…...
C语言自定义类型 — 结构体、位段、枚举、联合
前言 本期主要对通讯录三篇博客文章进行补充 通讯录文章:通讯录系列文章 对结构体进行详细介绍,其次讲解位段、枚举、联合体 文章目录 前言一、结构体1.什么是结构体2.结构声明2.1 声明格式2.2 如何声明(代码演示) 3.特殊声明3.1…...
新手指南:流程图中各种图形的含义及用法解析
我们经常在技术设计、沟通、业务演示等一些领域看到流程图,它也可以称为输入输出图。顾名思义,它是指一种简单的工作流程的具体步骤,比如包括一次会议的流程,以及一次生产制造的顺序和过程等。本文将为大家介绍流程图的含义和具体…...
【知识产权】专利的弊端
接上篇【知识产权】著作权的作用_qilei2010的博客-CSDN博客。 1 专利的分类 首先,专利分为:发明专利、实用新型专利、外观设计专利。这里要说明的是专利的不同种类在不同的国家都是有不同规定的,并不是所有国家和地区都是分成这三类。 >国家法律法规数据库 >中华…...
用Rust实现23种设计模式之抽象工厂
在 Rust 中,可以使用 trait 和泛型来实现抽象工厂模式。抽象工厂模式是一种创建型设计模式,它提供了一个接口来创建一系列相关或依赖对象的家族,而无需指定具体的类。下面是一个简单的示例,展示了如何使用 Rust 实现抽象工厂模式&…...
守护数字隐私:Red Button 网络轨迹清理与数字指纹保护完全指南
在当今数字化时代,隐私保护已经成为每个人都需要关注的重要话题。我们在使用电脑和网络时,会留下大量的活动轨迹和数字痕迹。这些痕迹如果被不法分子获取,可能会导致隐私泄露、身份盗用等严重后果。 Red Button 作为一款功能全面的系统工具&…...
Windows热键冲突快速排查指南:Hotkey Detective实战手册
Windows热键冲突快速排查指南:Hotkey Detective实战手册 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否…...
英雄联盟本地自动化工具:LeagueAkari 完整指南与实战教程
英雄联盟本地自动化工具:LeagueAkari 完整指南与实战教程 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit LeagueAkari 是一款基于官…...
SpringBoot使用Redis缓存
耗时一月收集的学习资料,强烈建议学习一下: https://pan.quark.cn/s/b5638e1405d7 正文开始: (1)pom.xml引入jar包,如下: <dependency><groupId>org.springframework.boot</groupId>&l…...
小白也能懂!Qwen3-Reranker-0.6B快速部署与WebUI调用实战
小白也能懂!Qwen3-Reranker-0.6B快速部署与WebUI调用实战 1. 为什么选择Qwen3-Reranker-0.6B Qwen3-Reranker-0.6B是Qwen家族最新推出的文本重排序模型,专为提升文本检索效果而设计。这个0.6B参数的模型虽然体积小巧,但在多语言文本排序任务…...
别再瞎调了!SRS流媒体服务器性能优化,这5个关键配置项才是核心(附低延迟/高并发场景配置模板)
SRS流媒体服务器性能调优实战指南:5个关键杠杆与场景化配置 当你面对SRS服务器性能瓶颈时,是否曾在数十个配置参数中迷失方向?我曾亲眼见过团队花费两周时间调整非核心参数,最终性能提升却不足5%。本文将揭示真正影响性能的五大黄…...
如何用开源工具永久保存微信聊天记录:5个实用技巧让珍贵对话永不丢失
如何用开源工具永久保存微信聊天记录:5个实用技巧让珍贵对话永不丢失 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Tre…...
Fish-Speech 1.5 多语言语音合成实战:如何用 API 快速生成中日语语音(附完整代码示例)
Fish-Speech 1.5 多语言语音合成实战:从API调用到音色定制的完整指南 在数字内容创作和智能交互领域,多语言语音合成技术正成为打破沟通壁垒的关键工具。Fish-Speech 1.5作为新一代开源语音合成引擎,以其出色的多语言支持能力和灵活的API接口…...
Android应用语言独立设置:打破系统语言束缚的终极解决方案
Android应用语言独立设置:打破系统语言束缚的终极解决方案 【免费下载链接】Language-Selector Language Selector let users select individual app languages (Android 13) 项目地址: https://gitcode.com/gh_mirrors/la/Language-Selector 你是否曾在多语…...
保姆级教程:用WPS JS API给你的WPS Office装个“外挂”(从环境配置到第一个加载项)
零基础玩转WPS加载项开发:从效率工具到个性化定制 你是否曾在处理大量WPS文档时,幻想过能有个"一键搞定"的神器?就像游戏玩家安装Mod扩展玩法一样,WPS其实也隐藏着强大的扩展能力。本文将带你走进WPS加载项开发的世界&a…...
