在Mysql环境下对数据进行增删改查
一、插入数据:
insert into 表名 [(字段名)] values (字段对应的值1,字段对应的值2,…)[,(字段对应的值1,字段对应的值2,…)];
insert into students (id,name,age,height,gender,cls_id,is_delete)
values (0,'小明',18,180.00,2,1,0)

在学生表中插入“小明”数据的效果
二、修改数据:
update 表名 set 字段名1=新的数据值,字段名2=新的数据值 [where 条件];
UPDATE students SET name= '邓超';

将所有学生的姓名改成邓超的效果
三、删除数据:
1、delete from 表名;
----------删除表里的数据,但是表仍然存在
delete from 表名 [where 条件];------------根据条件进行删除表里的数据
DELETE FROM students where id = 1;

delete from删除可以加条件
2、truncate table 表名;
---------清空表里的数据,但表仍然存在,而且不能加条件
TRUNCATE TABLE students where id = 1;

truncate table删除数据会报错
四、数据查询:
1、基本查询:
①查询全部字段的全部数据:
select * from 表名;
select * from students;

查询所有学生信息
②查询部分字段的全部数据:
select 字段名1,字段名2…from 表名;
select name,gender from students;

查询所有学生的姓名,性别
③根据条件查询数据:
elect * from 表名 where 条件;
select name,gender from students where id = 1;

查询id为1学生的姓名,性别
④多个条件的查询:
条件与条件之间可以用and、or、in、between…and…来进行条件的连接
select * from students where gender='女' and cls_id=2;

查询性别为女并且在2班的学生的信息
⑤模糊查询:
select * from 表名 where 字段名 like ‘值’;----------% _
select * from students where name like '小%';

查询名字里面包含’小’的学生的信息
⑥去重:
select distinct 字段名 from 表名;
select distinct gender from students;

查询性别有几种分类
⑦排序:
- 按照单个字段排序:
select * from 表名 order by 字段名 asc/desc;(asc升序-默认,desc降序)
select * from students order by height;

将学生的身高按照升序排列
- 按照多个字段排序:
select * from 表名 order by 字段名1 asc/desc,字段名2 asc/desc;
select * from students order by height,age;

将学生的身高、年龄按照升序排列
- 有条件的排序:
select * from 表名 where 条件 order by 字段名 asc/desc;
select * from students where age = 18 order by height;

将年龄为18岁的学生按照身高升序排列
⑧限制查询结果的数量:
limit
select * from students limit 2;

只看前2条学生信息
2、连接查询:
(涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健)
①内连接
-
显示内连接:select 字段 from 表名1 inner join 表名2 on 两个表连接的条件 [where 条件];
select s.name,c.name from students s inner join classes c on s.cls_id=c.id;

查看学生所在班级
-
隐式内连接:select 字段 from 表名1,表名2 where 两个表连接的条件 [and 其他查询的条件];
select s.name as ‘名字’,c.name as ‘班级’ from students s, classes c where s.cls_id = c.id;

查看学生所在班级
②外连接
-
左外连接:select 字段 from 表名1 left join 表名2 on 两个表连接的条件 [where 条件];------左表的数据全部查询出来,右表符合条件的查询出来
select c.name,t.name from classes c left join teachers t on c.teacher_id = t.id;

查看老师所在班级
-
右外连接:select 字段 from 表名1 right join 表名2 on 两个表连接的条件 [where 条件];------右表的数据全部查询出来,左表符合条件的查询出来
select c.name,t.name from classe c right join teachers t on c.teacher_id = t.id;

查看老师所在班级
3、聚合函数查询:
①count()-计数
select count(*) as '学生总数' from students;

查询班级有多少同学
②sum()-求和
select sum(height) as '身高之和' from students;

查询班级学生的身高之和
③max()-最大值
select max(height) as '最高身高' from students;

查询班级学生的最高身高
④min()-最小值
mysql> select min(height) as '最矮身高' from students;

查询班级学生的最矮身高
⑤avg()-平均值
select avg(height) as '平均身高' from students;

查询班级学生的平均身高
⑥select 聚合函数名(字段名) from 表名 [where 条件];
SELECT AVG(height) AS '1班平均身高' FROM students WHERE cls_id = 1;

查询1班学生的平均身高
⑦select 分组的字段名,聚合函数名(字段名) from 表名 [group by 分组的字段名];
SELECT cls_id AS class_id, COUNT(*) AS student_count, AVG(age) AS average_age, MAX(height) AS max_height, MIN(height) AS min_height FROM students GROUP BY cls_id;

按班级分组查询每个班级的学生人数、平均年龄、最高身高和最低身高
4、子查询:查询嵌套查询
①子查询的结果只有一个值
select * from 表名 where 字段名=(select 字段名 from 表名);
select * from students where cls_id = (select cls_id from students where name = '刘德华');

查看刘德华同学的所在班级的所有同学
②子查询的结果有多个值,等于其中的任意一个值
select * from 表名 where 字段名=any(select 字段名 from 表名);
select * from students where cls_id = any(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

查看赵老师所带的学生信息
③子查询的结果有多个值,大于所有值
select * from 表名 where 字段名>all(select 字段名 from 表名);
select * from students where cls_id >= all(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

查看学生所在班级
④子查询如果有查询的结果,外查询就执行
select * from 表名 where exists (select 字段名 from 表名);
select * from classes where exists (select * from teachers where name='李老师');

查看存在李老师的班级表
相关文章:
在Mysql环境下对数据进行增删改查
一、插入数据: insert into 表名 [(字段名)] values (字段对应的值1,字段对应的值2,…)[,(字段对应的值1,字段对应的值2,…)]; insert into students (id,name,age,height,gender,cls_id,is_delete) values (0,小明,18,180.00,2,1,0)在学生表中插入“小明”数据的…...
Spring 设计模式:经典设计模式
Spring 设计模式:经典设计模式 引言 Spring 框架广泛使用了经典设计模式。 这些模式在 Spring 内部发挥着重要作用。 通过理解这些设计模式在 Spring 中的应用,开发者可以更深入地掌握 Spring 框架的设计哲学和实现细节。 经典设计模式 控制反转&am…...
OneFlow和PyTorch在性能上有哪些区别?
OneFlow 和 PyTorch 在性能上的区别主要体现在以下几个方面: 本篇文章的目录 分布式训练性能 硬件利用率和显存优化 模型训练速度 OneFlow:默认采用静态图模式,在模型训练前会对计算图进行编译优化,能够减少运行时的开销&…...
win下搭建elk并集成springboot
一、ELK 是什么? ELK 实际上是三个工具的集合,Elasticsearch Logstash Kibana,这三个工具组合形成了一套实用、易用的监控架构,很多公司利用它来搭建可视化的海量日志分析平台。 ElasticSearch ElasticSearch 是一个基于 Lucen…...
H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测
H7-TOOL详细介绍(含操作手册):H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-…...
STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显
资料下载地址:STM32WIFI获取网络时间8位数码管显示0.96OLED 1、项目介绍 主控芯片STM32C8T6 接线:串口1:PA9 PA10 OELD :PB6 PB7 数码管使用:MAX7219 8位数码管 Max7219_pinCLK PAout(5) Max7219_pinC…...
以太网ICMP协议(ping指令)——FPGA学习笔记25
--素材来源原子哥 一、IP协议 1、IP简介 IP是Internet Protocol(网际互连协议)的缩写。IP 协议是 TCP/IP 协议簇中的核心协议,它为上层协议提供无状态、无连接、不可靠的服务。IP 协议规定了数据传输时的基本单元和格式 。 IP协议是 OSI 参考模型中网络层…...
从零手写线性回归模型:PyTorch 实现深度学习入门教程
系列文章目录 01-PyTorch新手必看:张量是什么?5 分钟教你快速创建张量! 02-张量运算真简单!PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch?张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器:PyTor…...
【Cesium】自定义材质,添加带有方向的滚动路线
【Cesium】自定义材质,添加带有方向的滚动路线 🍖 前言🎶一、实现过程✨二、代码展示🏀三、运行结果🏆四、知识点提示 🍖 前言 【Cesium】自定义材质,添加带有方向的滚动路线 🎶一、…...
C 语言奇幻之旅 - 第11篇:C 语言动态内存管理
目录 引言1. 内存分配函数1.1 malloc 函数实际开发场景:动态数组 1.2 calloc 函数实际开发场景:初始化数据结构 1.3 realloc 函数实际开发场景:动态调整数据结构大小 2. 内存释放2.1 free 函数 3. 内存泄漏与调试3.1 常见内存问题3.2 内存调试…...
IDEA 撤销 merge 操作(详解)
作为一个开发者,我们都知道Git是一个非常重要的版本控制工具,尤其是在协作开发的过程中。然而,在使用Git的过程中难免会踩一些坑,今天我来给大家分享一个我曾经遇到的问题:在使用IDEA中进行merge操作后如何撤销错误的合…...
swarm天气智能体调用流程
Swarm 框架的调用流程: 入口点 (examples/weather_agent/run.py): run_demo_loop(weather_agent, streamTrue)初始化流程: # swarm/repl/repl.py -> run_demo_loop() client Swarm() # 创建 Swarm 实例消息处理流程: # swarm/core.py class Swarm:def run(…...
LED背光驱动芯片RT9293应用电路
一)简介: RT9293 是一款高频、异步的 Boost 升压型 LED 定电流驱动控制器,其工作原理如下: 1)基本电路结构及原理 RT9293的主要功能为上图的Q1. Boost 电路核心原理:基于电感和电容的特性实现升压功能。当…...
二叉树的二叉链表和三叉链表
在二叉树的数据结构中,通常有两种链表存储方式:二叉链表和三叉链表。这里,我们先澄清一下概念,通常我们讨论的是二叉链表,它用于存储二叉树的节点。而“三叉链表”这个术语在二叉树的上下文中不常见,可能是…...
【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)
学习本路线内容之前,请先学习Python的基础知识 其他路线: Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析(数据科学) >> Python 算法(人工智能) >> Pyth…...
C++直接内存管理new和delete
0、前言 C语言定义了两个运算符来分配和释放动态内存。运算符new分配内存,delete释放new分配的内存。 1、new动态内存的分配 1.1、new动态分配和初始化对象 1)、new内存分配 在自由的空间分配的内存是无名的,new无法为其分配的对象…...
Linux 内核中网络接口的创建与管理
在 Linux 系统中,网络接口(如 eth0、wlan0 等)是计算机与外部网络通信的桥梁。无论是物理网卡还是虚拟网络接口,它们的创建和管理都依赖于 Linux 内核的复杂机制。本文将深入探讨 Linux 内核中网络接口的创建过程、命名规则、路由选择以及内核如何将网络接口映射到实际的硬…...
人工智能 前馈神经网络练习题
为了构建一个有两个输入( X 1 X_1 X1、 X 2 X_2 X2)和一个输出的单层感知器,并进行分类,我们需要计算权值 w 1 w_1 w1和 w 2 w_2 w2的更新过程。以下是详细的步骤和计算过程: 初始化参数 初始权值:…...
Windows搭建RTMP服务器
目录 一、Nginx-RTMP服务器搭建1、下载Nginx2、下载Nginx的RTMP扩展包3、修改配置文件4、启动服务器5、查看服务器状态6、其它ngnix命令 二、OBS推流1 、推流设置2、查看服务器状态 三、VLC拉流四、补充 本文转载自:Windows搭建RTMP服务器OBS推流VLC拉流_浏览器查看…...
Vue重新加载子组件
背景:组件需要重新加载,即重新走一遍组件的生命周期常见解决方案: 使用v-if指令:v-if 可以实现 true (加载)和 false (卸载) async reloadComponent() {this.show false// 加上 nextTick this.$nextTick(function() {this.show…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
