MySQL学习记录1【DQL和DCL】

news2025/1/10 11:01:51

SQL学习记录

该笔记从DQL处开始记录


DQL之前值得注意的点

  • 字段 BETWEEN min AND max 可以查询区间[min, max]的数值
  • 如果同一个字段需要满足多个OR条件,可以采取 字段 IN(数值1, 数值2, 数值3....)
  • LIKE语句 字段 LIKE '___%%%' 表示模糊匹配,_匹配一个字段,%匹配不确定个字段

DQL

SELECT
    字段列表
FROM
    表名
WHERE
    条件列表
GROUP BY
    分组字段列表
HAVING
    分组后的条件列表
ORDER BY
    排序字段列表
LIMIT
    分页参数;
1. 聚合函数

常见的聚合函数:

函数功能
COUNT()计算非空值的数量。
SUM()计算一列数值的总和。
MAX()返回一列中的最大值。
MIN()返回一列中的最小值。
AVG()计算一列数值的平均值。
2. 分组查询
SELECT 字段列表 
FROM 表名  
WHERE 条件 
GROUP BY 分组字段名  
HAVING 分组后的过滤条件;
  • 查询数据先通过WHERE的条件进行过滤,随后通过GROUP BY 进行分组,分组之后,又通过HAVING字段来进行过滤分组的结果。
  • 与此同时,HAVING可以对聚合函数进行判断,WHERE则不行.
3. 排序查询
SELECT 字段列表 
FROM 表名 
ORDER BY 字段1 排序方式1, 字段2 排序方式2;
  • 先按字段1排序,再按字段2排序,以此类推
  • ASC(默认升序,从小到大),DESC(从大到小,降序)
4. 分页查询
SELECT 字段列表 
FROM 表名 
LIMIT 起始索引, 查询记录数;
  • LIMIT是如何查询的?假设你要查询第n页,每一页有m条数据,那么起始索引就是 (n - 1) * m
  • 另一种思路,你查询到的区间可以表示为 (起始索引,起始索引 + 查询记录数]
5. 执行顺序
FROM 		#首先确定要查询的数据源表,从中提取数据。
WHERE 		#在 FROM 后,用 WHERE 子句来过滤数据,限制结果集中的行。
GROUP BY 	#对满足 WHERE 条件的结果集进行分组。
HAVING 		#对分组后的结果集进行进一步过滤,限于满足条件的分组。
SELECT		#选择要返回的列,最终确定结果集中包含哪些字段。
ORDER BY	#对最终的结果集进行排序。
LIMIT 		#限制返回的结果集的行数,可以用于分页。

tips:

  • 关于别名:
    1. 列别名:在 SELECT 语句中定义。
    2. 表别名:在 FROM 子句中定义。
    3. 子查询别名:在子查询的后面定义。
  • 在定义别名之后,要注意各个语句的执行顺序,只有在执行定义了别名的语句之后才可以在接下来的语句使用别名

DCL


1. 用户管理
操作语法说明
查询用户SELECT * FROM mysql.user;查看所有用户信息
创建用户CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';创建用户,指定用户名、主机名和密码
修改密码ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_naive_password BY '新密码';修改用户密码
删除用户DROP USER '用户名'@'主机名';删除用户

2. 权限管理
操作语法说明
查询权限SHOW GRANTS FOR '用户名'@'主机名';查看用户的权限
授予权限GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';授予用户对指定数据库或表的权限
撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';撤销用户对指定数据库或表的权限

3. 常用权限列表
权限说明
ALLALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表结构
DROP删除数据库、表或视图
CREATE创建数据库或表

4. 注意事项
  • 主机名:可以使用%通配符表示所有主机。
  • 权限列表:多个权限用逗号分隔,例如SELECT, INSERT, UPDATE
  • 通配符:在授权时,数据库名和表名可以使用*通配符,例如*.*表示所有数据库和表。

结语

最近做了一个Demo,又看了几篇文章,做了几道题,发现自己的建表,查表这些确实还有待优化,所以决定系统地学一下MySQL,目前是跟着黑马学习,挖了一个新坑,希望能坚持下去吧~

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

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

相关文章

ChatGPT入门之文本情绪识别:先了解LSTM如何处理文字序列

文章目录 0. 首先聊聊什么是RNN1. 理解LSTM,从数据如何喂给 LSTM开始2. LSTM每个门是如何处理序列数据的?2.1 遗忘门(Forget Gate):该忘掉哪些信息?2.2 输入门(Input Gate)&#xff…

springboot和vue配置https请求

项目场景: 代码发布到线上使用https请求需要配置ssl证书,前后端都需要修改。 问题描述 如图,我们在调用接口时报如下错误,这就是未配置ssl但是用https请求产生的问题。 解决方案: 前端:在vite.config.js文…

软件工程期末整理(二)

快速原型开发模型是(适用于客户需求难以清楚定义、规模较小的系统)。(编写系统实施计划)不是系统设计阶段的主要活动 解释:系统实施计划”更侧重于后续的实施与部署阶段,属于项目管理层面的内容 协作性不属于构件的特性在类图中…

filebeat、kafka

elk的架构 es数据库:非关系型数据库,json格式 logstash:收集日志 kibana:图形化的工具 ↓ 以上三种结合起来即为日志收集系统 filebeat 作用:filebeat是一款轻量级的日志收集工具,不依赖java环境&…

vue3使用vue3-video-play播放m3u8视频

1.安装vue3-video-play npm install vue3-video-play --save2.在组件中使用 import vue3-video-play/dist/style.css; import VideoPlay from vue3-video-play;// 视频配置项 const options reactive({src: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8, //视频源mute…

项目代码第8讲:Socket和OPC UA客户端通信;数据库的表格内容谁填的?(OPC Client和Web);在Program.cs中单独开启一个线程

一、Socket:用于和OPC UA客户端通信 1、Socket和OPC UA的定义 1>Socket:只是一个API,提供了一个使用 TCP(以及其他协议)的方式,用于在同一台计算机上的进程之间或不同计算机之间的进程通信 一个API Socket 是一种应用程序编程接口(API),它提供了一系列函数…

离线录制激光雷达数据进行建图

目前有一个2D激光雷达,自己控制小车运行一段时间,离线获取到激光雷达数据后运行如下代码进行离线建图。 roslaunch cartographer_ros demo_revo_lds.launch bag_filename:/home/firefly/AutoCar/data/rplidar_s2/2025-01-08-02-08-33.bag实际效果如下 d…

hisi mipi yuv422数据异常问题记录解决

问题解决,海思原厂提供支持后解决方式,适用于dv500和928系列: YUV422输入时,mask[1]使用0x00FFC000得配置。 问题现象就是mask[1]配置的0xFF0000时,YUV值收到后UV的会向下做一个4对齐的操作,导致色度UV数据…

《跟我学Spring Boot开发》系列文章索引❤(2025.01.09更新)

章节文章名备注第1节Spring Boot(1)基于Eclipse搭建Spring Boot开发环境环境搭建第2节Spring Boot(2)解决Maven下载依赖缓慢的问题给火车头提提速第3节Spring Boot(3)教你手工搭建Spring Boot项目纯手工玩法…

VS2022 安装和配置 vcpkg

vs2022使用vcpkg最全版本_vs2022 vcpkg-CSDN博客 Visual Studio 2022 安装和配置 vcpkg_vs2022 vcpkg-CSDN博客 GitHub - microsoft/vcpkg: C Library Manager for Windows, Linux, and MacOS vcpkg 文档 | Microsoft Learn 没有详细教程写出来,先大概看看&#x…

深度学习与计算机视觉 (博士)

文章目录 零、计算机视觉概述一、深度学习相关概念1.学习率η2.batchsize和epoch3.端到端(End-to-End)、序列到序列(Seq-to-Seq)4.消融实验5.学习方式6.监督学习的方式(1)有监督学习(2)强监督学习(3)弱监督学习(4)半监督学习(5)自监督学习(6)无监督学习(7)总结:不同…

5G学习笔记之PNI-NPN

目录 1. 概述 2. CAG 2.1 CAG ID 2.2 CAG信息配置 3. 网络选择/网络重选,小区选择/小区重选 4. 接入和拥塞控制 1. 概述 PNI-NPN,Public Network Integrated NPN,公共网络集成的非公共网络,依赖于PLMN网络,使用 CAG&am…

学习threejs,导入babylon格式的模型

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.BabylonLoader babyl…

计算机网络——网络层—IP数据报与分片

一、IP 数据报的格式 • 一个 IP 数据报由首部和数据两部分组成。 • 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。 • 在首部的固定部分的后面是一些可选字段,其长度是可变的。 IP 数据报首部的固定部分中的各字段 版…

2025新年源码免费送

2025很开门很开门的源码免费传递。不需要馒头就能获取4套大开门源码。 听泉偷宝,又进来偷我源码啦👊👊👊。欢迎偷源码 🔥🔥🔥 获取免费源码以及更多源码,可以私信联系我 我们常常…

React快速上手到项目实战总篇

React核心价值与前置知识 时刻保持对知识的渴望 家人们 开学!!! 核心价值 组件化(易开发易维护) 数据驱动视图 :定义好数据和ui的显示规则 即UIf(state) 只关注业务数据修改,不在操作DOM 增加开发效率 使用vite创建Recat项目 …

采用标准化的方式开展设计-研发中运用设计模式

概述 实现规范化、标准化的引导式设计,以业务需求为输入,识别业务特点,并通过引导式设计,找到最适合的设计模式、具体方案,汇总成为应用的设计,拉齐各应用的设计一的致性。 采用标准化的方式开展设计…

Web无障碍

文章目录 🟢Web Accessibility-Web无障碍🟢一、Web Accessibility-Web1. web无障碍设计2. demo3.使用相关相关开源无障碍工具条(调用可能会根据网络有点慢) 如有其他更好方案,可以私信我哦✒️总结 🟢Web Accessibility-Web无障碍…

计算机网络 (26)互联网的路由选择协议

一、路由选择协议的基本概念 路由选择协议是计算机网络中用于确定数据包在网络中传输路径的一种协议。它帮助路由器构建和维护路由表,以便根据目的地址将数据包转发到正确的下一跳路由器。路由选择协议分为静态路由选择协议和动态路由选择协议两大类。 二、静态路由…

江科大STM32入门——UART通信笔记总结

wx:嵌入式工程师成长日记 1、简介 简单双向串口通信有两根通信线(发送端TX和接收端RX)TX与RX要交叉连接当只需单向的数据传输时,可以只接一根通信线当电平标准不一致时,需要加电平转换芯片 传输模式:全双工;时钟&…