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 实现抽象工厂模式&…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...
李沐--动手学深度学习--GRU
1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...
算法刷题-回溯
今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...
python基础语法Ⅰ
python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器,来进行一些算术…...
【系统架构设计师-2025上半年真题】综合知识-参考答案及部分详解(回忆版)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20~21题】【第…...
华硕电脑,全新的超频方式,无需进入BIOS
想要追求更佳性能释放 或探索更多可玩性的小伙伴, 可能会需要为你的电脑超频。 但我们常用的不论是BIOS里的超频, 还是Armoury Crate奥创智控中心超频, 每次调节都要重启,有点麻烦。 TurboV Core 全新的超频方案来了 4不规…...
