Mysql-常见DML-DQL-语句语法用法总结

news2024/11/16 12:37:00

1、常见DML语句

1.1 INSERT语句

说明:将数据插入到数据库表中。

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

实例:添加C罗信息到数据库表中

insert into employee (ID, name, gender, entrydate, age) values (7,'克里斯蒂亚诺','男','2022-12-29',39);

1.2 UPDATE语句

说明:更新数据库表中现有数据行中的内容。

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

实例:将詹姆斯的年龄设置为29岁

update employee set age=29 where name='詹姆斯';

1.3 DELETE语句

说明:从数据库表中删除数据行。

DELETE FROM table_name WHERE condition;

实例:删除C罗信息

delete from employee where name='克里斯蒂亚诺';

2、常见DQL语句

2.1 SELECT语句

说明:用于从数据库中检索数据。

SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column_name ASC|DESC;

实例:

检索表中所有列的数据:

select * from employee;

检索指定列及符合条件的数据:

SELECT name, age FROM employee WHERE age > 25;

检索并按年龄降序排序:

SELECT name, age FROM users ORDER BY age DESC;

2.2 GROUP BY子句

说明:用于将行分组,并对每个组应用聚合函数。

实例:根据性别分组,并统计每个性别的员工个数

SELECT gender,count(*) FROM employee GROUP BY gender;

实例:选取 employee 表中年龄大于等于 25 岁的员工,然后按性别 (gender) 分组计算每个性别的平均年龄,并最终筛选出平均年龄也大于等于 25 岁的性别组。

SELECT gender, AVG(age) avgAge FROM employee WHERE age>=25  GROUP BY gender HAVING avgAge >= 25;

注意,where是在分组前进行过滤,不满足where条件不参与分组。having是对分组后的结果进行过滤。where不能对聚合函数进行判断,而having可以。

执行顺序 where >聚合函数>having。

2.3 DQL语句执行顺序

1、FROM 子句:

首先确定查询的数据来源,识别表或视图,并进行 JOIN 操作(如果有的话)。
处理表的合并、连接和子查询,形成查询的基础数据集。


2、WHERE 子句:

从 FROM 子句中生成的数据集中过滤数据,应用行级过滤条件,排除不满足条件的记录。


3、GROUP BY 子句:

将 WHERE 子句筛选后的数据按指定列进行分组。每个分组中会产生一个数据集合。


4、HAVING 子句:

对 GROUP BY 子句生成的每个分组进行进一步的过滤,应用分组级的条件。


5、SELECT 子句:

从经过 HAVING 子句过滤的数据中选择具体的列和表达式,计算聚合函数(如 COUNT、AVG、SUM 等)。


6、DISTINCT 子句:

在 SELECT 子句中选择的结果中去除重复的记录(如果有 DISTINCT 关键字的话)。


7、ORDER BY 子句:

对 SELECT 子句产生的结果集进行排序,按照指定的列和排序顺序(升序或降序)。


8、LIMIT / OFFSET 子句:

最后,限制返回的记录数(LIMIT)或跳过一定数量的记录(OFFSET),控制查询结果的范围。

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

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

相关文章

MinIO - 从 环境搭建 -> SpringBoot实战 -> 演示,掌握 Bucket 和 Object 操作

目录 开始 Docker 部署 MinIO 中的基本概念 SpringBoot 集成 MinIO 依赖 配置 MinIO 时间差问题报错 The difference between the request time and the servers time is too large MinIO 中对 Bucket(文件夹) 的操作 是否存在 / 创建 查询所有…

Android 四大组件

1. Activity 应用程序中,一个Activity通常是一个单独的屏幕,它上面可以显示一些控件,也可以监听并对用户的事件做出响应。 Activity之间通过Intent进行通信,在Intent 的描述结构中,有两个最重要的部分:动…

嵌入式Linux系统编程 — 7.2 进程的环境变量

目录 1 什么是进程的环境变量 2 环境变量的作用 3 应用程序中获取环境变量 3.1 environ全局变量 3.2 获取指定环境变量 getenv 4 添加/删除/修改环境变量 4.1 putenv()函数添加环境变量 4.2 setenv()函数 4.3 unsetenv()函数 1 什么是进程的环境变量 每一个进程都有一…

Node.js 生成vue组件

在项目根目录下创建 create.js /*** 脚本生成vue组件* 主要是利用node自带的fs模块操作文件的写入* ===========================================* 准备步骤:* 1.输入作者名* 2.输入文件名* 3.输入菜单名* 4.输入文件地址* ============================================* 操…

【公益案例展】厦门大学附属成功医院——国产数据库在综合三甲医院核心系统的应用...

‍ 达梦数据公益案例 本项目案例由达梦数据投递并参与数据猿与上海大数据联盟联合推出的 #榜样的力量# 《2024中国数据智能产业最具社会责任感企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 厦门大学附属成功医院是一所集医疗、教学、科研、保健、疗…

C++基础(八):类和对象 (下)

经过前面的学习,我们已经翻过了两座大山,类和对象入门知识就剩下这一讲了,加油吧,少年! 目录 一、再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表(理解) 1.3 explicit关键字(C…

代码随想录算法训练营第13天|二叉树的递归遍历、二叉树的迭代遍历、二叉树的统一迭代法、102.二叉树的层序遍历

打卡Day13 1.理论基础2.二叉树的递归遍历3.二叉树的迭代遍历3.二叉树的统一迭代法4.102.二叉树的层序遍历扩展107. 二叉树的层序遍历 II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117. 填充每个…

ctfshow web入门 web338--web344

web338 原型链污染 comman.js module.exports {copy:copy };function copy(object1, object2){for (let key in object2) {if (key in object2 && key in object1) {copy(object1[key], object2[key])} else {object1[key] object2[key]}}}login.js var express …

Python + 在线 + 文生音,音转文(中文文本转为英文语音,语音转为中文文本)

开源模型 平台:https://huggingface.co/ars-语言转文本: pipeline("automatic-speech-recognition", model"openai/whisper-large-v3", device0 ) hf: https://huggingface.co/openai/whisper-large-v3 github: https://github.com/openai/wh…

使用自动化测试确保接口正确性的详细指南!

引言: 随着软件开发的迅速发展,接口的正确性成为了确保应用程序质量的关键要素之一。自动化测试是一种强大的工具,可以帮助开发人员和测试人员减少错误,提高测试覆盖率,并加快测试过程。本文将详细介绍从零开始如何使…

探索LlamaIndex:如何用Django打造高效知识库检索

简介 LlamaIndex(前身为 GPT Index)是一个数据框架,为了帮助我们去建基于大型语言模型(LLM)的应用程序。 主要用于处理、构建和查询自定义知识库。 它支持多种数据源格式 excel,txt,pdf&…

ELK优化之Filebeat部署

目录 1.安装配置Nginx 2.安装 Filebeat 3.设置 filebeat 的主配置文件 4.修改Logstash配置 5.启动配置 6.kibana验证 主机名ip地址主要软件es01192.168.9.114ElasticSearches02192.168.9.115ElasticSearches03192.168.9.116ElasticSearch、Kibananginx01192.168.9.113ng…

测试人员如何管理项目与风险预警

在平时工作过程中,你有没有因项目延时,需求频繁变更,开发提测质量不高,以及漏测的情况下,背了不少锅的情况呢? 作为测试人员,我们应该如何发挥积极主动性,进行项目管理,有…

VuePress 的更多配置

现在,读者应该对 VuePress、主题和插件等有了基本的认识,除了插件,VuePress 自身也有很多有用的配置,这里简单说明下。 ‍ ‍ VuePress 的介绍 在介绍了 VuePress 的基本使用、主题和插件的概念之后,我们再来看看官…

CTS单测某个模块和测试项

1 &#xff0c;测试单个模块命令 run cts -m <模块名> 比如&#xff1a;run cts -m CtsUsbTests模块名可以从测试报告中看&#xff0c;如下&#xff1a; 2&#xff0c; 测试单个测试项 run cts -m <模块名> -t <test_name> 比如&#xff1a;run cts -m ru…

基于大象机器人UltraArm P340机械臂和传送带,实现教育场景中的自动化分拣系统!

引言 今天我们将展示一个高度自动化的模拟场景&#xff0c;展示多个机械臂与传送带协同工作的高效分拣系统。在这个场景中&#xff0c;机械臂通过视觉识别技术对物体进行分类&#xff0c;并通过精确的机械操作将它们放置在指定的位置。这一系统不仅提高了分拣的速度和准确性&am…

dotnet ef工具使用

设置工具安装目录 dotnet tool install dotnetsay --tool-path G:\dotnet-tools安装 dotnet tool install --global dotnet-ef更新 dotnet tool update --global dotnet-ef查看版本 dotnet ef --version创建迁移文件 # 只有一个dbcontext dotnet ef migrations add init #…

http读书笔记

持久化 HTTP/1.1 和一部分的 HTTP/1.0 想出了 持久连接&#xff08;HTTP Persistent Connections&#xff0c; 也称为 HTTP keep-alive 或 HTTP connection reuse&#xff09; 的方法。 持久连接的特点是&#xff0c; 只要任意一端 没有明确提出断开连接&#xff0c; 则保持 T…

mysql 9 新特新

mysql9新特性 新特性Audit Log NotesC API NotesCharacter Set SupportCompilation NotesComponent NotesConfiguration NotesData Dictionary NotesData Type NotesDeprecation and Removal NotesEvent Scheduler NotesJavaScript ProgramsOptimizer NotesPerformance Schema …

微机原理与单片机 知识体系梳理

单片机笔记分享 我个人感觉单片机要记的东西很多&#xff0c;也很琐碎&#xff0c;特别是一些位、寄存器以及相关作用等&#xff0c;非常难以记忆。因此复习时将知识点整理在了一起做成思维导图&#xff0c;希望对大家有所帮助。内容不是很多&#xff0c;可能有些没覆盖全&…