我在广州学 Mysql 系列——有关数据表的插入、更新与删除相关练习

ℹ️大家好,我是练小杰,今天是星期四了,明天就是星期五了!!这周过得真快啊!!
本文将针对MYSQL数据表内容的插入,更新以及删除,相关命令的各种练习~~
复习:👉【插入、更新与删除数据详解】
数据库专栏👉【数据库专栏】~
想要了解更多内容,主页 【练小杰的CSDN】

在这里插入图片描述

文章目录

  • 前言
  • 使用表person举例
  • 向表中插入数值
    • 插入一条新记录,id值为1,name值为lxj,age值为21,info值为Student
    • 插入数据不按照表定义顺序
    • 插入数据时列名为空
    • 插入一条新记录,name值为SU,age值为20,info值为sports man
    • 插入一条新记录,name值为LJ,age值为55
    • 插入多条数据
    • 在person表中,不指定插入列表,同时插入2条新记录
  • 从源表中筛选记录添加到目标表
  • 向表中更新数据
    • 在person表中,更新id值为11的记录,将age字段值改为15,将name字段值改为LiMing
    • 在person表中,更新age值为19~22的记录,将info字段值都改为student
  • 删除表中数据
    • 在person表中,删除id等于11的记录
    • 在person表中,使用DELETE语句同时删除多条记录,在前面UPDATE语句中将age字段值在19~22之间的记录的info字段值修改为student
    • 删除person表中所有记录
    • TRUNCATE TABLE语句删除表
      • 举例:删除表person_old并查看记录
    • drop语句删除表person_old

在这里插入图片描述

前言

建议先了解基础概念👉【Mysql插入、更新与删除数据详解】
⚠️MySQL中可以灵活的对数据进行插入与更新,且MySQL中对数据地操作没有任何提示,因此在更新和删除数据时,一要谨慎小心,查询条件一定要准确,避免造成数据的丢失。

使用表person举例

  • 创建数据表,sql语句如下:
CREATE TABLE person
(
id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
name   CHAR(40) NOT NULL DEFAULT '',
age    INT NOT NULL DEFAULT 0,
info   CHAR(50) NULL,
PRIMARY KEY (id)
);

向表中插入数值

向表中所有字段插入值的方法有两种:一种是指定所有字段名,另一种是完全不指定字段名。

插入一条新记录,id值为1,name值为lxj,age值为21,info值为Student

SQL语句如下:

  • 执行插入操作之前,使用SELECT语句查看表中的数据:
SELECT * FROM person;
Empty set (0.00 sec)

结果显示当前表为空,没有数据(Empty set)

  • 执行插入操作:
INSERT INTO person (id ,name, age , info)VALUES (1,'lxj', 21, 'Student');
Query OK, 1 row affected (0.00 sec)
  • 语句执行完毕,查看表里的数据:
 SELECT * FROM person;
+----+------+-----+---------+
| id | name | age | info    |
+----+------+-----+---------+
|  1 | lxj  |  21 | Student |
+----+------+-----+---------+
1 row in set (0.00 sec)

可以看到插入记录成功。在插入数据时,指定了person表的所有字段,因此将为每一个字段插入新的值。

插入数据不按照表定义顺序

INSERT语句后面的列名称顺序可以不是person表定义时的顺序。即插入数据时,不需要按照表定义的顺序插入,只要保证值的顺序与列字段的顺序相同就可以,如下所示。

  • 插入一条新记录,id值为2,name值为GEM,age值为22,info值为singer

SQL语句如下:

INSERT INTO person (age ,name, id , info)VALUES (22, 'GEM', 2, 'singer');
  • 语句执行完毕,查看表数据:
 SELECT * FROM person;
+----+------+-----+---------+
| id | name | age | info    |
+----+------+-----+---------+
|  1 | lxj  |  21 | Student |
|  2 | GEM  |  22 | singer  |
+----+------+-----+---------+
2 rows in set (0.01 sec)

由结果可以看到,INSERT语句成功插入了一条记录。

插入数据时列名为空

使用INSERT插入数据时,允许列名称列表column_list为空,此时,值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同,如下所示。

  • 插入一条新记录,id值为3,name值为EASON,age值为24,info值为songwriter,SQL语句如下:
 INSERT INTO person VALUES (3,'EASON', 24, 'songwriter');
Query OK, 1 row affected (0.00 sec)

语句执行完毕,查看执行结果:

 SELECT * FROM person;
+----+-------+-----+------------+
| id | name  | age | info       |
+----+-------+-----+------------+
|  1 | lxj   |  21 | Student    |
|  2 | GEM   |  22 | singer     |
|  3 | EASON |  24 | songwriter |
+----+-------+-----+------------+
3 rows in set (0.01 sec)

插入一条新记录,name值为SU,age值为20,info值为sports man

  • SQL语句如下:
 INSERT INTO person (name, age,info)VALUES('SU', 20, 'sports man');
Query OK, 1 row affected (0.00 sec)

提示信息表示插入一条记录成功

  • 使用SELECT查询表中的记录,查询结果如下:
 SELECT * FROM person;
+----+-------+-----+------------+
| id | name  | age | info       |
+----+-------+-----+------------+
|  1 | lxj   |  21 | Student    |
|  2 | GEM   |  22 | singer     |
|  3 | EASON |  24 | songwriter |
|  4 | SU    |  20 | sports man |
+----+-------+-----+------------+
4 rows in set (0.00 sec)

插入一条新记录,name值为LJ,age值为55

  • SQL语句如下:
 INSERT INTO person (name, age ) VALUES ('LJ', 55);
  • 语句执行完毕,查看表数据
SELECT * FROM person;
+----+-------+-----+------------+
| id | name  | age | info       |
+----+-------+-----+------------+
|  1 | lxj   |  21 | Student    |
|  2 | GEM   |  22 | singer     |
|  3 | EASON |  24 | songwriter |
|  4 | SU    |  20 | sports man |
|  5 | LJ    |  55 | NULL       |
+----+-------+-----+------------+
5 rows in set (0.00 sec)

插入多条数据

  • 在name、age和info字段指定插入值,同时插入3条新记录,SQL语句如下:
INSERT INTO person(name, age, info)
VALUES ('xiaojie',24, 'Employee'),
('Dale',22, 'cook'),
('Andy Lau',28, 'singer');
  • 语句执行完毕,查看执行结果:
  SELECT * FROM person;
+----+----------+-----+------------+
| id | name     | age | info       |
+----+----------+-----+------------+
|  1 | lxj      |  21 | Student    |
|  2 | GEM      |  22 | singer     |
|  3 | EASON    |  24 | songwriter |
|  4 | SU       |  20 | sports man |
|  5 | LJ       |  55 | NULL       |
|  6 | xiaojie  |  24 | Employee   |
|  7 | Dale     |  22 | cook       |
|  8 | Andy Lau |  28 | singer     |
+----+----------+-----+------------+
8 rows in set (0.00 sec)

在person表中,不指定插入列表,同时插入2条新记录

  • SQL语句如下:
INSERT INTO person 
VALUES (9,'Harry',21, 'magician'), 
(NULL,'Harriet',19, 'pianist');
  • 语句执行结果如下:
 INSERT INTO personVALUES (9,'Harry',21, 'magician'),(NULL,'Harriet',19, 'pianist');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0
  • 语句执行完毕,查看执行结果:
 SELECT * FROM person;+----+----------+-----+------------+
| id | name     | age | info       |
+----+----------+-----+------------+
|  1 | lxj      |  21 | Student    |
|  2 | GEM      |  22 | singer     |
|  3 | EASON    |  24 | songwriter |
|  4 | SU       |  20 | sports man |
|  5 | LJ       |  55 | NULL       |
|  6 | xiaojie  |  24 | Employee   |
|  7 | Dale     |  22 | cook       |
|  8 | Andy Lau |  28 | singer     |
|  9 | Harry    |  21 | magician   |
| 10 | Harriet  |  19 | pianist    |
+----+----------+-----+------------+
10 rows in set (0.00 sec)

从源表中筛选记录添加到目标表

从新表 person_old 中查询所有的记录,并将其插入到person表中。

  • 首先,创建一个名为person_old的数据表,其表结构与person结构相同
    SQL语句如下:
CREATE TABLE person_old
(
id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
name   CHAR(40) NOT NULL DEFAULT '',
age    INT NOT NULL DEFAULT 0,
info   CHAR(50) NULL,
PRIMARY KEY (id)
);
  • person_old表中添加两条记录
INSERT INTO person_oldVALUES (11,'LiHua',20, 'student'), (12,'Judy Hopps',31, 'police');
  • 查看表person_old 的数据内容
 SELECT * FROM person_old;
+----+------------+-----+---------+
| id | name       | age | info    |
+----+------------+-----+---------+
| 11 | LiHua      |  20 | student |
| 12 | Judy Hopps |  31 | police  |
+----+------------+-----+---------+
2 rows in set (0.00 sec)

可以看到,插入记录成功,peson_old表中现在有两条记录。

  • 然后,将person_old表中所有的记录插入person表中,SQL语句如下:
INSERT INTO person(id, name, age, info)
SELECT id, name, age, info FROM person_old;
  • 执行完毕,查看执行结果:
 SELECT * FROM person;+----+------------+-----+------------+
| id | name       | age | info       |
+----+------------+-----+------------+
|  1 | lxj        |  21 | Student    |
|  2 | GEM        |  22 | singer     |
|  3 | EASON      |  24 | songwriter |
|  4 | SU         |  20 | sports man |
|  5 | LJ         |  55 | NULL       |
|  6 | xiaojie    |  24 | Employee   |
|  7 | Dale       |  22 | cook       |
|  8 | Andy Lau   |  28 | singer     |
|  9 | Harry      |  21 | magician   |
| 10 | Harriet    |  19 | pianist    |
| 11 | LiHua      |  20 | student    |
| 12 | Judy Hopps |  31 | police     |
+----+------------+-----+------------+
12 rows in set (0.00 sec)

向表中更新数据

在person表中,更新id值为11的记录,将age字段值改为15,将name字段值改为LiMing

  • SQL语句如下:
UPDATE person SET age = 15, name='LiMing' WHERE id = 11;
  • 更新操作执行前可以使用SELECT语句查看当前的数据:
SELECT * FROM person WHERE id=11;
+----+--------+-----+---------+
| id | name   | age | info    |
+----+--------+-----+---------+
| 11 | LiHua  |  20 | student |
+----+--------+-----+---------+
1 row in set (0.01 sec)

由结果可以看到在更新之前,id等于11的记录的name字段值为LiHua,age字段值为20

  • 下面使用UPDATE语句更新数据,语句执行结果如下:
 UPDATE person SET age = 15, name='LiMing' WHERE id = 11;Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  • 语句执行完毕,查看执行结果:
 SELECT * FROM person WHERE id=11;
+----+--------+-----+---------+
| id | name   | age | info    |
+----+--------+-----+---------+
| 11 | LiMing |  15 | student |
+----+--------+-----+---------+
1 row in set (0.00 sec)

在person表中,更新age值为19~22的记录,将info字段值都改为student

  • SQL语句如下:
UPDATE person SET info='student'  WHERE id  BETWEEN 19 AND 22;
  • 更新操作之前可以使用SELECT语句查看当前的数据:
 SELECT * FROM person WHERE age BETWEEN 19 AND 22;+----+---------+-----+------------+
| id | name    | age | info       |
+----+---------+-----+------------+
|  1 | lxj     |  21 | Student    |
|  2 | GEM     |  22 | singer     |
|  4 | SU      |  20 | sports man |
|  7 | Dale    |  22 | cook       |
|  9 | Harry   |  21 | magician   |
| 10 | Harriet |  19 | pianist    |
+----+---------+-----+------------+
6 rows in set (0.00 sec)

可以看到,这些age字段值在19~22之间的记录的info字段值各不相同。

  • 下面使用UPDATE语句更新数据,语句执行结果如下:
UPDATE person SET info='student' WHERE age BETWEEN 19 AND 22;
Query OK, 6 rows affected (0.01 sec)
Rows matched: 6  Changed: 6  Warnings: 0
  • 执行完毕,再次查看表的数据内容:
 SELECT * FROM person WHERE age BETWEEN 19 AND 22;+----+---------+-----+---------+
| id | name    | age | info    |
+----+---------+-----+---------+
|  1 | lxj     |  21 | student |
|  2 | GEM     |  22 | student |
|  4 | SU      |  20 | student |
|  7 | Dale    |  22 | student |
|  9 | Harry   |  21 | student |
| 10 | Harriet |  19 | student |
+----+---------+-----+---------+
6 rows in set (0.00 sec)

删除表中数据

在person表中,删除id等于11的记录

  • SQL语句如下:

执行删除操作前,先用SELECT语句查看当前id=11的记录

SELECT * FROM person WHERE id=11;
+----+--------+-----+---------+
| id | name   | age | info    |
+----+--------+-----+---------+
| 11 | LiMing |  15 | student |
+----+--------+-----+---------+
1 row in set (0.00 sec)

可以看到,现在表中有id=11的记录

  • 下面使用DELETE语句删除该记录,语句执行结果如下:
DELETE FROM person WHERE id = 11;
Query OK, 1 row affected (0.01 sec)

语句执行完毕,查看执行结果:

SELECT * FROM person WHERE id=11;Empty set (0.01 sec)

查询结果为空,说明删除操作成功。

在person表中,使用DELETE语句同时删除多条记录,在前面UPDATE语句中将age字段值在19~22之间的记录的info字段值修改为student

  • 删除多条记录,SQL语句如下:
DELETE FROM person WHERE age BETWEEN 19 AND 22;
  • 执行删除操作之前,使用SELECT语句查看当前的数据:
 SELECT * FROM person WHERE age BETWEEN 19 AND 22;+----+---------+-----+---------+
| id | name    | age | info    |
+----+---------+-----+---------+
|  1 | lxj     |  21 | student |
|  2 | GEM     |  22 | student |
|  4 | SU      |  20 | student |
|  7 | Dale    |  22 | student |
|  9 | Harry   |  21 | student |
| 10 | Harriet |  19 | student |
+----+---------+-----+---------+
6 rows in set (0.00 sec)

可以看到,筛选出age字段值在19~22之间的记录

  • 使用DELETE删除这些记录:
DELETE FROM person WHERE age BETWEEN 19 AND 22;
Query OK, 6 rows affected (0.01 sec)
  • 语句执行完毕,查看执行结果:
 SELECT * FROM person WHERE age BETWEEN 19 AND 22;Empty set (0.00 sec)

查询结果为空,删除多条记录成功

删除person表中所有记录

  • SQL语句如下:
DELETE FROM person;
  • 执行删除操作前,使用SELECT语句查看当前的数据:
 SELECT * FROM person;+----+------------+-----+------------+
| id | name       | age | info       |
+----+------------+-----+------------+
|  3 | EASON      |  24 | songwriter |
|  5 | LJ         |  55 | NULL       |
|  6 | xiaojie    |  24 | Employee   |
|  8 | Andy Lau   |  28 | singer     |
| 12 | Judy Hopps |  31 | police     |
+----+------------+-----+------------+
5 rows in set (0.00 sec)
  • 结果显示person表中还有5条记录,执行DELETE语句删除这5条记录:
DELETE FROM person;
Query OK, 5 rows affected (0.01 sec)
  • 语句执行完毕,查看执行结果:
 SELECT * FROM person;Empty set (0.00 sec)

查询结果为空,删除表中所有记录成功,表person中已经没有任何数据记录

TRUNCATE TABLE语句删除表

  • 删除表中的所有记录,还可以使用TRUNCATE TABLE语句,TRUNCATE将直接删除原来的表并重新创建一个表。
  • TRUNCATE直接删除表而不是删除记录,因此执行速度比DELETE快
  • 基本语法结构:
TRUNCATE TABLE table_name;

举例:删除表person_old并查看记录

TRUNCATE TABLE person_old;
Query OK, 0 rows affected (0.06 sec)
  • 查看表person_old数据
    可以看到,数据内容已清空,执行成功
SELECT * FROM person_old;
Empty set (0.01 sec)
  • 查看该数据库所拥有的表格,可以看到表格依旧存在,只是表里不存在数据
show tables;
+---------------+
| Tables_in_lxj |
+---------------+
| person        |
| person_old    |
+---------------+

drop语句删除表person_old

DROP TABLE 会删除整个表,包括表结构和所有数据。 这是一个不可逆的操作,执行后表将不复存在。

  • 执行drop语句之前先查看当前所有表
show tables;
+---------------+
| Tables_in_lxj |
+---------------+
| person        |
| person_old    |
+---------------+
  • 用drop语句删除表person_old
drop table  person_old;
Query OK, 0 rows affected (0.05 sec)
  • 执行完成后再次查看,可以看到表person_old 已经完全删除,不复存在
show tables;
+---------------+
| Tables_in_lxj |
+---------------+
| person        |
+---------------+
1 rows in set (0.01 sec)

本节有关mysql数据库的插入、更新以及删除数据的版块已结束,周五再见啦!!
😆 欢迎查看主页 【练小杰的CSDN】
ℹ️欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL —— 流媒体播放器 - ffmpeg解码rtsp流,opengl渲染yuv视频(附源码,glfw+glad)

效果 说明 FFMpeg和OpenGL作为两大技术巨头,分别在视频解码和图形渲染领域发挥着举足轻重的作用。本文将综合两者实战视频播放器,大概技术流程为:ffmpeg拉取rtsp协议视频流,并经过解码、尺寸格式转换为yuv420p后,使用opengl逐帧循环渲染该yuv实时视频。 核心源码 vertexSh…

彻底学会Gradle插件版本和Gradle版本及对应关系

看完这篇,保你彻底学会Gradle插件版本和Gradle版本及对应关系,超详细超全的对应关系表 需要知道Gradle插件版本和Gradle版本的对应关系,其实就是需要知道Gradle插件版本对应所需的gradle最低版本,详细对应关系如下表格&#xff0…

【学习笔记】数据结构(十)

内部排序 文章目录 内部排序10.1 概述10.2 插入排序10.2.1 直接插入排序10.2.2 其他插入排序10.2.2.1 折半插入排序(Binary Insertion Sort)10.2.2.2 2-路插入排序(Two-Way Insertion Sort)10.2.2.3 表插入排序(Table Insertion Sort&#xf…

论文解读 | NeurIPS'24 IRCAN:通过识别和重新加权上下文感知神经元来减轻大语言模型生成中的知识冲突...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 点击 阅读原文 观看作者讲解回放! 作者简介 史丹,天津大学博士生 内容简介 大语言模型(LLM)经过海量数据训练后编码了丰富的世界知识。最近的研究表明&#xff0c…

Python编程实例-特征向量与特征值编程实现

特征向量与特征值编程实现 文章目录 特征向量与特征值编程实现1、什么是特征向量2、特征向量背后的直觉3、为什么特征向量很重要?4、如何计算特征向量?4、特征向量Python实现5、可视化特征向量6、总结线性代数是许多高级数学概念的基石,广泛应用于数据科学、机器学习、计算机…

密码学原理技术-第十一章-Hash Functions

文章目录 总结Why we need hash functionsDigital Signature with a Hash FunctionBasic Protocol for Digital Signatures with a Hash FunctionPrincipal input–output behavior of hash functions Security propertiesThe three security requirements of hash functionsWh…

支付宝手机网站支付

1.订单码支付,首先下载官方网站提供的sdk包到你的项目中。 2.部署到服务器上后,在根目录的config.php上配置好你的appId、公钥私钥和同步异步回调路径及日志文件后,就直接能访问到他们给的示例网页。 3.选择第一项手机网站支付,提…

【网络安全设备系列】9、WAF(Web应用防火墙)

0x00 定义: Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一种设备。 WAF需要部署在Web服务器的前面,串行接入,不仅在硬件性能上要求高,而且不能影响Web服务,所以HA功能、Bypass功能都是必…

【HarmonyOS应用开发——ArkTS语言】购物商城的实现【合集】

目录 😋环境配置:华为HarmonyOS开发者 📺演示效果: 📖实验步骤及方法: 一、在src/main/ets文件中创建components文件夹并在其中创建Home.ets和HomeProduct.ets文件。​编辑 二、在Home.ets文件中定义 …

unity学习8:unity的基础操作 和对应shortcut

目录 1 unity的基础操作的工具,就在scene边上 1.1 对应shortcut快捷键 2 物体的重置/ 坐标归到0附近 3 F:快速找到当前gameobject 4 Q:小手和眼睛,在场景中移动 5 W:十字箭头,移动gameobject 6 …

Harmony开发【笔记1】报错解决(字段名写错了。。)

在利用axios从网络接收请求时,发现返回obj的code为“-1”,非常不解,利用console.log测试,更加不解,可知抛出错误是 “ E 其他错误: userName required”。但是我在测试时,它并没有体现为空,…

(leetcode算法题)面试题 17.19. 消失的两个数字

可以在O(n)的时间复杂度下得到这两个消失的数字的异或的结果,或者得到这两个数字的和 但是怎么从上面的结果中得到这两个数字? 比如对于异或的结果,可以知道这两个数字在哪一位的置位是不同的 然后再根据这一位把 [1, n] 分为两个不同的数…

Go Ebiten随机迷宫生成示例

引言 迷宫生成是计算机科学中一个经典的问题,常用于算法教学和游戏开发。本文将介绍如何使用 Go 语言和 Ebiten 游戏引擎实现一个基于深度优先搜索(DFS)的随机迷宫生成算法,并通过可视化的方式展示迷宫的生成过程。 技术栈 Go …

Flutter 鸿蒙化 flutter和鸿蒙next混和渲染

前言导读 这一个节课我们讲一下PlatformView的是使用 我们在实战中有可能出现了在鸿蒙next只加载一部分Flutter的情况 我们今天就讲一下这种情况具体实现要使用到我们的PlatformView 效果图 具体实现: 一、Native侧 使用 DevEco Studio工具打开 platform_view_example\oho…

《一文读懂PyTorch核心模块:开启深度学习之旅》

《一文读懂PyTorch核心模块:开启深度学习之旅》 一、PyTorch 入门:深度学习的得力助手二、核心模块概览:构建深度学习大厦的基石三、torch:基础功能担当(一)张量操作:多维数组的神奇变换&#x…

jenkins入门6 --拉取代码

Jenkins代码拉取 需要的插件,缺少的安装下 新建一个item,选择freestyle project 源码管理配置如下:需要添加git库地址,和登录git的用户密码 配置好后执行编译,成功后拉取的代码在工作空间里

【2025最新计算机毕业设计】基于SpringBoot+Vue智慧养老医护系统(高质量源码,提供文档,免费部署到本地)【提供源码+答辩PPT+文档+项目部署】

作者简介:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容:🌟Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

51c自动驾驶~合集45

我自己的原文哦~ https://blog.51cto.com/whaosoft/13020031 #运动控制和规划控制需要掌握的技术栈~ 各大垃圾家电造车厂又要开始了~~~​ 1、ROS的通信方式 李是Lyapunov的李:谈谈ROS的通信机制 话题通信和服务通信,其中话题通信是通过发布和订阅…

【Qt】控件概述和QWidget核心属性1(enabled、geometry、windowTitle、windowIcon、QRC机制)

一、控件概念 界面上各种元素、各种部分的统称(如按钮、输入框、下拉框、单选复选框...) Qt作为GUI开发框架,内置了各种的常用控件,并支持自定义控件。 二、控件体系发展 1.没有完全的控件,需要使用绘图API手动绘制…

基于transformer的目标检测:DETR

目录 一、背景介绍 二、DETR的工作流程 三、DETR的架构 1. 损失函数 2. 网络框架讲解及举例 一、背景介绍 在深度学习和计算机视觉领域,目标检测一直是一个核心问题。传统方法依赖于复杂的流程和手工设计的组件,如非极大值抑制(nms&…