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 实现抽象工厂模式&…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
