当前位置: 首页 > news >正文

MySQL语法2

DQL语句介绍

DQL是数据查询语言,用来查询数据库中表的记录

DQL-基本查询语句

 SELECT

字段列表

 FROM

表名列表

 WHERE

条件列表

 GROUP BY

分组字段列表

 HAVIMG

分组后条件列表

 ORDER BY

排列字段列表

 LIMIT

分页参数

讲解过程:基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询

DQL-基本查询

  1. 查询多个字段

SELECT 字段1,字段2,字段3,... FROM表名;

SELECT name,wordno

FROM emp;

SELECT * FROM 表名;(查询返回所有字段)

SELECT *

FROM emp

  1. 设置别名

设置别名SELECT 字段1[AS 别名],字段2[AS 别名]。。。FROM 表名;

SELECT entrydate as '入职日期'

FROM emp;

  1. 去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

SELECT DISTINCT entrydate as '入职日期'

FROM emp;

DQL-条件查询

1.语法

SELECT * FROM 表名;(查询返回所有字段)

  1. 条件

比较运算符

功能

>

大于

>=

大于等于

<

小于

<=

小于等于

=

等于

<>或!=

不等于

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-聚合函数

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

函数

功能

Count

统计数量

Max

最大值

Min

最小值

Avg

平均值

Sum

求和

  1. 语法:

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-分组查询

  1. 语法:

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;

  1. WHERE和HAVING区别

>执行时机不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组:而having是分组之后对对结果进行过滤。

>判断条件不同:WHERE不能对聚合函数进行判断,而HAVING可以。

注意:

  1. 执行顺序:WHERE>聚合函数>HAVING
  2. 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

DQL-排序字段列表

  1. 语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

  1. 排序方式:

>ASC:升序(默认值)

>DESC:降序

实例:

按员工年龄大小正序排列

SELECT *

FROM emp

ORDER BY age ;

按入职时间长短排序

SELECT *

FROM emp

ORDER BY entrydate;

按年龄大小排序,相同年龄按入职时间倒叙排列

SELECT *

FROM emp

ORDER BY age ,entrydate DESC;

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

DQL-分页查询(方言:不同数据库语法不同)

  1. 语法

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. 1.查询用户表

  USE mysql ;

  SELECT * FROM user;

  1. 创建用户:

CREATE USER 用户名@主机名 IDENTIFED BY 密码

  1. 修改用户密码:

 ALTER USER 用户名@主机名 IDEBTIFIED WITH mysql_native_passwoerd BY 新密码

  1. 删除用户:

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

创建数据库/表

其他权限描述及其含义,可以参考官方文档

  1. 查询权限:

SHOW GRANTS FOR 用户名@主机名;

  1. 授予权限:

GRANT 权限列表 ON 数据库名.表名 TO 用户名@主机名;

GRANT ALL on sjk01.* TO 'GUI1'@'%';

  1. 撤销权限:

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是数据查询语言&#xff0c;用来查询数据库中表的记录 DQL-基本查询语句 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVIMG 分组后条件列表 ORDER BY 排列字段列表 LIMIT 分页参数 讲解过程&#xff1a;基本查询、条件查询…...

Mysql on duplicate key update用法及优缺点

在实际应用中&#xff0c;经常碰到导入数据的功能&#xff0c;当导入的数据不存在时则进行添加&#xff0c;有修改时则进行更新&#xff0c; 在刚碰到的时候&#xff0c;一般思路是将其实现分为两块&#xff0c;分别是判断增加&#xff0c;判断更新&#xff0c;后来发现在mysql…...

【Linux】-进程概念之进程优先级(如何去进行调度以及进程切换),还不进来看看??

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …...

《在细雨中呼喊》阅读笔记

《在细雨中呼喊》阅读笔记 2023年2月5号在家读完&#xff0c;本书就是以作者者回忆的形式来写&#xff0c;男一号叫孙光林&#xff0c;有一个哥哥孙光平&#xff0c;一个弟弟叫孙光明&#xff0c;父亲叫孙光才。书中写了四篇故事。 第一篇写的就是作者对于老家生活的回忆 小的时…...

01-1 搭建 pytorch 虚拟环境

pytorch 管网&#xff1a;PyTorch 一 进入 Anaconda 二 创建虚拟环境 conda create -n pytorch python3.9注意要注意断 VPN切换镜像&#xff1a; 移除原来的镜像 # 查看当前配置 conda config --show channels conda config --show-sources# 移除之前的镜像 conda config --…...

RocketMQ 事务消息

事务消息是 RocketMQ 的高级特性之一 。这篇文章&#xff0c;笔者会从应用场景、功能原理、实战例子三个模块慢慢为你揭开事务消息的神秘面纱。 1 应用场景 举一个电商场景的例子&#xff1a;用户购物车结算时&#xff0c;系统会创建支付订单。 用户支付成功后支付订单的状态…...

Windows安装ElasticSearch

安装环境&#xff1a;java环境。新版本需要安装高版本的java&#xff0c;所有本次安装的为 7.x版本的ElasticSearch 。所以要java11 1、安装java11 2、下载 Elasticsearch 安装包 官网地址&#xff1a;(https://www.elastic.co/cn/) 安装包下载地址&#xff1a;https://www…...

【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文

论文&#xff1a;https://arxiv.org/abs/2211.08824 代码&#xff1a;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 是京东零售推出的一款用于企业级中后台的动态列表解决方案&#xff0c;项目基于 React 和 JSON Schema&#xff0c;旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。 DripTable 目前包含以下子项目&#xff1a;drip-table、drip-table-gene…...

STL C++学习背景

STL C学习背景 背景知识 背景知识 STL前置知识 STL&#xff0c;英文全称 standard template library&#xff0c;中文可译为标准模板库或者泛型库&#xff0c;其包含有大量的模板类和模板函数&#xff0c;是 C 提供的一个基础模板的集合&#xff0c;用于完成诸如输入/输出、数…...

C#踩坑:谨慎在XML数据列上绑定鼠标事件!

按照计划&#xff0c;昨天晚上就完成最后的公式自动计算&#xff0c;程序的流程就算完整了&#xff0c;可以正常运行了&#xff0c;一般情况下&#xff0c;是可以完成的。 10点开始干&#xff0c;窗体上放置一个Treeview&#xff0c;然后针对XML对Treeview进行数据绑定&#xf…...

逻辑代数运算

逻辑代数运算中的三种基本运算 与&#xff08;AND&#xff09;&#xff1a;只有满足全部条件&#xff0c;才会产生结果 或&#xff08;OR&#xff09; &#xff1a;只要满足一个条件&#xff0c;就会产生结果 非&#xff08;NOT&#xff09;&#xff1a;只要满足条件&#xff…...

win10笔记本显示器根据页面显示亮度自动调节亮度的问题

系统是win10企业版&#xff0c;针对这个问题查了很多种方法&#xff0c;比如&#xff1a; 1、控制面板->硬件和声音->电源选项->点击当前电源计划的更改计划设置->更改高级电源设置->显示->启用自适应亮度 但是我发现我的电源计划只有平衡这一种&#xff0c…...

无人驾驶实战-第一课(自动驾驶概述)

在七月算法上报了《无人驾驶实战》课程&#xff0c;老师讲的真好。好记性不如烂笔头&#xff0c;记录一下学习内容。 课程入口&#xff0c;感兴趣的也可以跟着学一下。 ————————————————————————————————————————— 无人驾驶汽车的定义…...

15.节点操作

15.1 DOM节点 1.DOM节点 DOM树里每一个内容都称之为节点 2.节点类型 ●元素节点 所有的标签 比如body、div html是根节点 ●属性节点 所有的属性 比如href ●文本节点 所有的文本 15.2查找节点 1.父节点查找&#xff1a; parentNode属性 返回最近一级的父节点找不到返回为n…...

C语言自定义类型 — 结构体、位段、枚举、联合

前言 本期主要对通讯录三篇博客文章进行补充 通讯录文章&#xff1a;通讯录系列文章 对结构体进行详细介绍&#xff0c;其次讲解位段、枚举、联合体 文章目录 前言一、结构体1.什么是结构体2.结构声明2.1 声明格式2.2 如何声明&#xff08;代码演示&#xff09; 3.特殊声明3.1…...

新手指南:流程图中各种图形的含义及用法解析

我们经常在技术设计、沟通、业务演示等一些领域看到流程图&#xff0c;它也可以称为输入输出图。顾名思义&#xff0c;它是指一种简单的工作流程的具体步骤&#xff0c;比如包括一次会议的流程&#xff0c;以及一次生产制造的顺序和过程等。本文将为大家介绍流程图的含义和具体…...

【知识产权】专利的弊端

接上篇【知识产权】著作权的作用_qilei2010的博客-CSDN博客。 ​ 1 专利的分类 首先,专利分为:发明专利、实用新型专利、外观设计专利。这里要说明的是专利的不同种类在不同的国家都是有不同规定的,并不是所有国家和地区都是分成这三类。 >国家法律法规数据库 >中华…...

用Rust实现23种设计模式之抽象工厂

在 Rust 中&#xff0c;可以使用 trait 和泛型来实现抽象工厂模式。抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一个接口来创建一系列相关或依赖对象的家族&#xff0c;而无需指定具体的类。下面是一个简单的示例&#xff0c;展示了如何使用 Rust 实现抽象工厂模式&…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

OPENCV图形计算面积、弧长API讲解(1)

一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积&#xff0c;这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能&#xff0c;常用的API…...