关于MySQL数据库的学习3
目录
前言:
1.DQL(数据查询语言):
1..1基本查询:
1.2条件查询:
1.3排序查询:
1.3.1使用ORDER BY子句对查询结果进行排序。
1.3.2可以按一个或多个列进行排序,并指定排序方向(升序ASC或降序DESC)
。
1.4聚合查询:
1.5分组查询:
1.6分页查询:
1.7连接查询:
2..DML(数据操纵语言DML):
2.1 增加数据(INSERT)
2.2. 修改数据(UPDATE):
2.3. 删除数据(DELETE)
3. DCL(数据控制语言,Data Control Language):
3.1用户管理:
3.1.1查询用户:
3.1.2创建用户:
3.1.3修改用户密码:
3.1.4删除用户:
3.2权限管理:
3.2.1赋予权限:
3.2.2撤销权限:
4.sql约束
4.1NOT NULL:
4.2UNIQUE:
此约束确保某列中的每行都有唯一的值。
4.3PRIMARY KEY:
4.4FOREIGN KEY:
4.5CHECK:
4.5DEFAULT:
结语:
前言:
我们已经学习了关于MySQL数据库的的DDL,今天我们将要继续去学习关于DQL的知识点了,关于这个知识我先解释一下关于这两者的区别:DQL专注于查询和检索数据库中的数据,而DDL则负责定义和更改数据库的结构和对象。其实以上都是个人关于学习的意点个人的见解,难免会有些遗漏欢迎大家的指正也欢迎大家在评论区和谐讨论。
1.DQL(数据查询语言):
在DQL(数据查询语言)中,主要关注的是如何从数据库中检索和操作数据。DQL是SQL(结构化查询语言)的一个子集,专注于数据查询方面。
1..1基本查询:
1.1.1使用SELECT语句从数据库表中检索数据。
select * from 表名;
或者查询表中部分字段数据:
1.1.2可以指定要检索的列(字段)和要从中检索数据的表。
select (选择)字段1, 字段2 from 表名;
1.1.2可以使用*通配符来选择所有列。
1.2条件查询:
1.1.1使用WHERE子句来指定筛选条件,只返回满足条件的行。
1.1.2可以使用比较运算符(如=, <>, >, <, >=, <=)和逻辑运算符(如AND, OR, NOT)来构建复杂的条件。
| >,<,>=,<=,=,<>,!= | 大于,小于,大于等于,小于等于,不等于,不等于 |
| between...and... | 显示在某一个区间的值(头尾都包含) |
| in(set) | 显示在集合内的值, 例如:in(10,20, 30) |
| like ‘字符’ | %代表零个或任意多个字符 _代表一个字符 like ‘_好%’ |
| is null/is not null | 判断为空/不为空 |
| and,or,not | 逻辑运算符 |
1.3排序查询:
1.3.1使用ORDER BY子句对查询结果进行排序。
通过order by,将查询出来的结果进行排序,放在select语句的最后
1.3.2可以按一个或多个列进行排序,并指定排序方向(升序ASC或降序DESC)
select * from 表名 order by 排序字段 asc/desc
默认是升序(asc)
。
1.4聚合查询:
1.4.1使用聚合函数(如SUM(), AVG(), COUNT(), MAX(), MIN()等)对一组值进行计算并返回单个值。
1.4.2通常与GROUP BY子句一起使用,将数据分组后进行聚合计算。
这是几个常见的聚合查询:
1.count:统计指定列不为null的记录行数,
2.sum:计算指定列的和,如果指定列的类型不是数字类型,那么结果是0
3.max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
4.min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
5.avg:计算指定列的平均值,如果指定列的类型不是数字类型,那么结果是0
1.5分组查询:
1.5.1使用GROUP BY子句将表中的行分组,基于一个或多个列的值。
通过group by对查询的信息进行分组,分组之后(而where是在分组之前的查询信息)只能查询分组的字段和聚合查询
select 字段 from 表名 group by 分组字段 having 条件;
having和where的区别:having是在分组后对数据进行过滤,where是在分组前对数据进行过滤;
having后面可以使用聚合函数(在Python中,聚合函数是指可以对一组值执行计算,并返回单个值的函数。Python中的聚合函数主要包括sum()、max()、min()、mean()(平均值)、count()等。这些函数通常用于对数据列表、元组或集合进行操作,以获得关于这些数据的统计信息。)过滤数据,where不可以,
分组就是将一样的数据放到一样的表格里面进行查询
1.5.2分组后,可以使用聚合函数对每个组进行计算。
1.5.3可以使用HAVING子句对分组后的结果进行过滤,类似于WHERE子句但用于分组后的数据。
1.6分页查询:
1.6.1用于限制查询结果返回的行数,通常用于分页显示数据。
1.6.2不同的数据库系统有不同的分页查询语法。例如,在MySQL中使用LIMIT和OFFSET关键字,而在SQL Server中使用OFFSET和FETCH子句。
select 字段 from 表名 limit m, n
m:表示第几条索引开始
n:表示查询多少条数据
1.7连接查询:
使用JOIN语句将多个表中的数据组合在一起,基于它们之间的相关列进行匹配。
存在多种类型的连接,如内连接(INNER JOIN)、左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL JOIN)等。
1.8子查询:
子查询可以在SELECT, FROM, 或 WHERE子句中使用。
一个查询可以嵌套在另一个查询中,作为外部查询的条件、数据源或用于计算的值等。
1.9别名使用:
使用AS关键字为列或表指定别名,使查询结果更易读或简化查询语句的编写。在某些情况下,AS关键字可以省略。
1.10去除重复数据:
使用DISTINCT关键字去除查询结果中的重复行。
去掉重复的数据:distinct
2..DML(数据操纵语言DML):
DML(数据操纵语言,Data Manipulation Language)是SQL(结构化查询语言,Structured Query Language)的一个子集,主要用于对数据库中的数据进行增删改查等操作。DML的主要语句包括INSERT、UPDATE、DELETE和SELECT。不过,SELECT通常也被归类为DQL(数据查询语言,Data Query Language),因为它主要用于查询数据,而不直接修改数据。
2.1 增加数据(INSERT)
向表中所有字段插入数据:
INSERT INTO 表名 VALUES (值1, 值2, 值3, ...);
向表中指定字段插入数据:
INSERT INTO 表名 (字段1, 字段2, 字段3, ...) VALUES (值1, 值2, 值3, ...);
2.2. 修改数据(UPDATE):
更新表中的数据:
UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2, ... WHERE 条件;
2.3. 删除数据(DELETE)
从表中删除数据:
DELETE FROM 表名 WHERE 条件;
3. DCL(数据控制语言,Data Control Language):
3.1用户管理:
3.1.1查询用户:
例如,在MySQL中,可以使用SELECT * FROM user;命令来查询所有用户信息(通常需要在mysql数据库下执行此命令)。
3.1.2创建用户:
使用CREATE USER命令来创建新的数据库用户。例如,CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';可以创建一个新的用户,并指定其从哪个主机访问以及使用什么密码。
3.1.3修改用户密码:
使用ALTER USER命令来修改用户的密码。例如,ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';。
3.1.4删除用户:
使用DROP USER命令来删除一个数据库用户。例如,DROP USER '用户名'@'主机名';
3.2权限管理:
3.2.1赋予权限:
通过GRANT命令赋予用户特定的数据库权限。这些权限可以针对整个数据库、特定的表或特定的列,并可以包括如SELECT、INSERT、UPDATE、DELETE等操作。
3.2.2撤销权限:
使用REVOKE命令来撤销之前赋予用户的数据库权限。
4.sql约束
4.1NOT NULL:
此约束确保某列不能有NULL值。
4.2UNIQUE:
此约束确保某列中的每行都有唯一的值。
4.3PRIMARY KEY:
此约束是NOT NULL和UNIQUE的结合。它确保某列(或两个列或多个列的组合)有唯一标识,有助于更容易、更快速地找到表中的一个特定的记录。
4.4FOREIGN KEY:
此约束用于保证一个表中的数据匹配另一个表中的值。这是为了保持数据的参照完整性。外键字段里的所有数据都必须是另一张表的主键字段里的值。
4.5CHECK:
此约束确保列中的所有值都满足某一条件。例如,可以确保某列的值都大于0。
4.5DEFAULT:
此约束为没有给列赋值的行提供默认值。
结语:
今天我们就先分享到这里了,今天已经介绍完了MySQL数据库的几个语言.关于后面我们就会分享一点关于web前端的内容,如果我的文章存在任何问题欢迎大家指正。

相关文章:
关于MySQL数据库的学习3
目录 前言: 1.DQL(数据查询语言): 1..1基本查询: 1.2条件查询: 1.3排序查询: 1.3.1使用ORDER BY子句对查询结果进行排序。 1.3.2可以按一个或多个列进行排序,并指定排序方向(升序ASC或降序DESC&#…...
笔试题——得物春招实习
开幕式排练 题目描述 导演在组织进行大运会开幕式的排练,其中一个环节是需要参演人员围成一个环形。演出人员站成了一圈,出于美观度的考虑,导演不希望某一个演员身边的其他人比他低太多或者高太多。 现在给出n个参演人员的身高,问…...
动手做简易版俄罗斯方块
导读:让我们了解如何处理形状的旋转、行的消除以及游戏结束条件等控制因素。 目录 准备工作 游戏设计概述 构建游戏窗口 游戏方块设计 游戏板面设计 游戏控制与逻辑 行消除和计分 判断游戏结束 界面美化和增强体验 看看游戏效果 准备工作 在开始编码之前…...
【极简无废话】open3d可视化torch、numpy点云
建议直接看文档,很多都代码老了,注意把代码版本调整到你使用的open3d的版本: https://www.open3d.org/docs/release/tutorial/visualization/visualization.html 请注意open3d应该已经不支持centos了! 从其他格式转换成open3d…...
C语言经典算法-6
文章目录 其他经典例题跳转链接31.数字拆解32.得分排行33.选择、插入、气泡排序34.Shell 排序法 - 改良的插入排序35.Shaker 排序法 - 改良的气泡排序 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠走迷官(一&…...
【计算机考研】杭电 vs 浙工大 怎么选?
想求稳上岸的话,其他几所学校也可以考虑,以留在本地工作的角度考虑,这几所学校都能满足你的需求。 如果之后想谋求一份好工作,肯定优先杭电是比较稳的,当然复习的时候也得加把劲。 这个也可以酌情考虑,报…...
激活函数
优秀的激活函数: 非线性:激活函数非线性时,多层神经网络可逼近所有函数 可微性:梯度下降更新参数 单调性:当激活函数是单调的,能保证单层网络的损失函数是凸函数 近似恒等性:当参数初始化为…...
使用Jackson进行 JSON 序列化和反序列化
在Spring应用程序中,您可以通过Maven添加Jackson依赖,并创建一个工具类来封装对象的序列化和反序列化方法。以下是详细步骤: 1. 引入 Jackson 依赖 如果使用 Maven,您可以在 pom.xml 文件中添加以下依赖: <depend…...
Linux/Uinx 系统编程:定时器以及时钟同步
本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于Intel x86 的PC中的硬件定时器;讲解了CPU操作和中断处理;描述了Linux中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、定时器生成的信号,并通过示例演示了进程间隔定时器。编程…...
(Ubuntu中调用相机花屏)Astra plus深度相机--rgb彩色图像花屏解决方法之一
在调试深度相机的过程中只能能调出深度图像和红外图像 在rviz的image的topic中选择彩色图像的话题不显示图像 1、查看相机的usb序列号 lsusb如上图所示,此相机的USB序列号是2bc5:050f,2bc5:060f 其中050f是显示彩色图像的 在这里可通过拔插相机来确定序列号是哪几…...
iPaaS平台能帮助企业解决什么问题?
随着数字化转型的推进,越来越多的企业开始关注如何提高业务效率和灵活性。iPaaS作为一种新型集成平台,它能够帮助企业解决许多与应用程序和数据集成相关的问题。 它能给企业解决什么问题? 以下是 iPaaS 平台通常能够帮助企业解决的一些问题…...
数学建模(灰色关联度 python代码 案例)
目录 介绍: 模板: 案例:哪些原因影响结婚率 数据标准化: 灰色关联度系数: 完整代码: 结果: 介绍: 灰色关联度是一种多指标综合评价方法,用于分析和评价不同指标之…...
【DP】第十四届蓝桥杯省赛C++ B组《接龙数列》(C++)
【题目描述】 对于一个长度为 K 的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 的首位数字恰好等于 的末位数字 (2≤i≤K)。 例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 3…...
文件包含漏洞(input、filter、zip)
一、PHP://INPUT php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码…...
使用iconv解决Linux/Ubuntu/Debian中gb2312中文文档乱码问题
你可以使用 iconv 命令行工具将文件中的文本从 GB2312 转换为 UTF-8。 你可以这样做: iconv -f GB2312 -t UTF-8 input.txt > output.txt将 input.txt 替换为以 GB2312 编码的输入文件的名称,将 output.txt 替换为你想要的 UTF-8 格式转换文件的名称。…...
图论中的最小生成树:Kruskal与Prim算法深入解析
🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:アンビバレント—Uru 0:24━━━━━━️💟──────── 4:02 🔄 ◀️ ⏸ ▶️ ☰ …...
uniapp 之 实现商品详情的锚点跳转(类似京东商品详情-点击顶部按钮跳转的对应的页面的内容区域)
类似京东商品详情-点击顶部详情跳转到页面对应的详情区域,点击评价跳转到页面对应的评价区域等。 照例,先封装方法: 封装方法 util.js /*** 锚点跳转(如:商品详情页面跳转)* param {string} targetId 目…...
PPT好看配色
放几个链接!画图时候可以参考!转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors...
微信小程序执行环境(微信端)与浏览器环境有何不同
微信小程序执行环境与浏览器环境有很多不同之处,以下是一些例子: 全局对象: 浏览器环境中的 JavaScript 有一个全局对象 window,而微信小程序中的 JavaScript 没有 window 对象,取而代之的是 wx 对象,wx …...
Java小项目--满汉楼
Java小项目–满汉楼 项目需求 项目实现 1.实现对工具包的编写 先创建libs包完成对jar包的拷贝和添加入库 德鲁伊工具包 package com.wantian.mhl.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.io.FileInputStream…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
