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'@'%';

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

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

相关文章

2023-08-09 LeetCode每日一题(整数的各位积和之差)

2023-08-09每日一题 一、题目编号 1281. 整数的各位积和之差二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数 n&#xff0c;请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例1&#xff1a; 示例2&#xff1a; 提示&#xff1a; 1 …

uniapp scroll-view 隐藏滚动条

/*清除滚动条 - 适配安卓*/::-webkit-scrollbar {width: 0;height: 0;color: transparent;}/*清除滚动条 - 适配IOS*/::-webkit-scrollbar {display: none;}

各种查找算法的效率分析

各种查找算法的效率 顺序查找 一般顺序表&#xff08;没有顺序&#xff0c;随机排列&#xff09; 成功时平均查找长度&#xff1a; 1 . . . n n n 1 2 \frac{1...n}{n}\frac{n1}{2} n1...n​2n1​失败时平均查找长度&#xff1a; n n n 有序顺序表&#xff08;按照递增或递…

【office】world设置标题

这里写目录标题 一、整理样式库二、设置标题编号三、设置标题其它信息1.设置 标题 1a.设置字体b.设置边框c.设置段落 2.设置 标题 2a.设置字体b.设置边框 3.设置 标题 3a.设置字体b.设置边框 4.设置 标题 4a.设置字体 5.设置 标题 5a.设置字体 一、整理样式库 1.选择“开始” …

Java数据类型,一文带你彻底拿捏~

——Java中运算符是一种特殊的符号&#xff0c;用来进行数据的运算、赋值和比较等 思维导图 一.算术运算符 1.什么是算术运算符 ——算术运算符是用于数据类型值之间&#xff0c;使用2个或以上的数据进行运算 2.算术运算符概括 算术运算符 解释示例&#xff0c;-正号&…

自动化干货!一文搞懂Salesforce Flow/流中的Pause元素

通过自动化&#xff0c;帮助团队提升效率&#xff0c;将员工从那些重复、枯燥、耗时的工作中解放出来&#xff0c;转而从事更具创造性、更有价值的工作&#xff0c;是很多企业数字化转型朴素而又迫切的需求&#xff0c;也是世界No.1 CRM——Salesforce的一大领先优势。 Flow B…

Docker实战-如何去访问Docker仓库?

导语   仓库在之前的分享中我们介绍过,它主要的作用就是用来存放镜像文件,又可以分为是公共的仓库和私有仓库。有点类似于Maven的中央仓库和公司内部私服。 下面我们就来介绍一下在Docker中如何去访问各种仓库。 Docker Hub 公共镜像仓库 Docker Hub 是Docker官方提供的最…

Yolov5缺陷检测/目标检测 Jetson nx部署Triton server

使用AI目标检测进行缺陷检测时&#xff0c;部署到Jetson上即小巧算力还高&#xff0c;将训练好的模型转为tensorRT再部署到Jetson 上供http或GRPC调用。1 Jetson nx 刷机 找个ubuntu 系统NVIDIA官网下载安装Jetson 的sdkmanager一步步刷机即可。 本文刷的是JetPack 5.1, 其中包…

【Windows】Windows开机密码重置

文章目录 前言一、问题描述二、操作步骤2.1 安装DaBaiCai_d14_v6.0_2207_Online.exe2.2 插入U盘2.3 打开大白菜&#xff0c;点击“一键制作USB启动盘”2.4 等待进度条走完2.5 重启电脑&#xff0c;开机按“F12”或者“F8”&#xff08;具体百度一下&#xff0c;对应品牌电脑开机…

笔试数据结构选填题

目录 卡特兰数Catalan&#xff1a;出栈序列/二叉树数 树 二叉树 N01N2 哈夫曼树&#xff08;最优二叉树&#xff09;Huffman 度m的哈夫曼树只有度为0和m的结点&#xff1a;Nm(n-1)/(m-1) 平衡二叉树AVL Nh表示深度为h最少结点数&#xff0c;则N00&#xff0c;N11&#…

网络防御(7)

课堂实验 R1 [Huawei] int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 100.1.12.2 24 protocolAug 1 2023 10:24:09-08:00 Huawei gOlIFNET/4/LINK STATE(1)[4]:The1ineIp on the interface GigabitEthernet0/0/0 has entered the Up state. [Huawei-GigabitEthernet0/0/…

SpringBoot 底层机制分析【Tomcat 启动+Spring 容器初始化+Tomcat 如何关联Spring 容器】【下】

&#x1f600;前言 本篇博文是关于SpringBoot 底层机制分析实现&#xff0c;希望能够帮助你更好的了解SpringBoot &#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大…

Leetcode.1559 二维网格图中探测环

题目链接 Leetcode.1559 二维网格图中探测环 rating : 1838 题目描述 给你一个二维字符网格数组 g r i d grid grid &#xff0c;大小为 m x n &#xff0c;你需要检查 g r i d grid grid 中是否存在 相同值 形成的环。 一个环是一条开始和结束于同一个格子的长度 大于等于…

lc137. 只出现一次的数字 II

数组排序&#xff0c;既和前不一样又和后不一样的就是唯一的一个 public static int numberOnce(int[] nums) {Arrays.sort(nums);if (nums.length > 2 && nums[0] ! nums[1]) {//避免只有一个元素的数组return nums[0];}if (nums.length > 2 && nums[nu…

使用MyBatis操作数据库

hi,大家好,今天为大家带来MyBatis操作数据库的知识 文章目录 &#x1f437;1.根据MyBatis操作数据库&#x1f9ca;1.1查询操作&#x1f347;1.1.1无参查询&#x1f347;1.1.2有参查询 &#x1f9ca;1.2删除操作&#x1f9ca;1.3修改操作&#x1f9ca;1.4增加操作&#x1f9ca;…

Windows 安装 pandoc 将 jupyter 导出 pdf 文件

Windows 安装 pandoc 将 jupyter 导出 pdf 文件 1. 下载 pandoc 安装文件2. 安装 pandoc3. 安装 nbconvert4. 使用 pandoc 1. 下载 pandoc 安装文件 访问 https://github.com/jgm/pandoc/releases&#xff0c;下载最新版安装文件&#xff0c;例如&#xff0c;3.1.6.1 版&#…

spring-boot webservice的例子

webservice发布服务 源码下载地址 spring-boot-webservice例子资源-CSDN文库 webservice cilent调用 源码下载地址 spring-boot-clintwebservice调用服务的例子资源-CSDN文库

Web安全——Burp Suite基础上

Burp Suite基础 一、Burp Suite安装和环境配置如何命令行启动Burp Suite 二、Burp Suite代理和浏览器设置FireFox设置 三、如何使用Burp Suite代理1、Burp Proxy基本使用2、数据拦截与控制3、可选项配置Options客户端请求消息拦截服务器端返回消息拦截服务器返回消息修改正则表…

面试题更新之-this指向问题

文章目录 this指向是什么常见情况下 this 的指向怎么修改this的指向 this指向是什么 JavaScript 中的 this 关键字用于引用当前执行代码的对象。它的指向是动态的&#xff0c;根据执行上下文的不同而变化。 常见情况下 this 的指向 全局作用域中的 this&#xff1a; 在全局作…

内网横向移动—WinLinux内存离线读取Hashcat破解RDPSSH存储提取

内网横向移动—Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取 1. 前言2. Windows系统密码提取2.1. 在线读取2.2. 离线读取2.2.1. 无存储读取2.2.1.1. 读取文件2.2.1.2. 本地解密 2.2.2. 有存储读取 2.3. 解决高版本2.3.1. 修改注册表2.3.2. 重新登陆…