当前位置: 首页 > news >正文

在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​的更新过程。以下是详细的步骤和计算过程: 初始化参数 初始权值&#xff1a…...

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…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...