『 MySQL数据库 』插入查询结果
文章目录
- 🎟️ 前言
- 🎟️ 创建一张结构相同的表
- 🎟️ 表内插入查询结果
- 🎫 对表内数据进行去重
- 🎫 配合ORDER BY排序后以及LIMIT分页对数据进行插入
🎟️ 前言

在MySQL数据库中不仅可以直接根据字段类型等对数据进行插入以外还可以插入以类似SELECT FROM语句筛选查询出的字段;
通过该手段可以配合表的RENAME操作可以对表进行一个拷贝或者是去重等操作;
存在一张表(distinct_table):
mysql> select * from distinct_table;
+----+------+
| id | name |
+----+------+
| 1 | aaa |
| 2 | bbb |
| 1 | aaa |
| 2 | bbb |
| 1 | aaa |
| 3 | ccc |
+----+------+
🎟️ 创建一张结构相同的表

语句:
CREATE TABLE [IF NOT EXISTS] table_name1 LIKE table_name2;
可以利用该命令创建一个表结构相同的表,其中table_name1为原表,table_name2为新表;
利用 SHOW CREATE TABLE查看该章中distinct_table的表的详细表结构:
mysql> show create table distinct_table\G -- 查看详细表结构
*************************** 1. row ***************************Table: distinct_table
Create Table: CREATE TABLE `distinct_table` (`id` int(11) NOT NULL COMMENT 'id',`name` varchar(20) NOT NULL COMMENT 'name字段'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
- 使用
CREATE TABLE [IF NOT EXISTS]... LIKE ...创建一张表结构相同的表:
从该操作可以看出所创建的表结构除了表名与原表不同以外其表结构与原表的表结构相同;mysql> create table if not exists tmp_table1 like distinct_table; -- 创建一张表明为tmp_table1且表结构与distinct_table表相同的表 Query OK, 0 rows affected (0.00 sec)mysql> show tables; -- 显示当前数据库中表 +-----------------+ | Tables_in_test2 | +-----------------+ | distinct_table | | tmp_table1 | +-----------------+ 2 rows in set (0.00 sec)mysql> show create table tmp_table1 \G -- 显示tam_table1表的详细表结构 *************************** 1. row ***************************Table: tmp_table1 Create Table: CREATE TABLE `tmp_table1` (`id` int(11) NOT NULL COMMENT 'id',`name` varchar(20) NOT NULL COMMENT 'name字段' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 1 row in set (0.00 sec)
🎟️ 表内插入查询结果

🎫 对表内数据进行去重
由于在MySQL中没有可以直接对表进行去重的语句,但是在MySQL中存在对查询结果进行去重的语句;
所以可以根据SELECT DISTINCT对应的结果去重配合INSERT INTO完成对表整体的去重:
- 创建结构相同的表;
mysql> create table if not exists tmp_table1 like distinct_table; -- 创建一张表明为tmp_table1且表结构与distinct_table表相同的表
Query OK, 0 rows affected (0.00 sec)
mysql> show create table tmp_table1 \G -- 显示tam_table1表的详细表结构
*************************** 1. row ***************************Table: tmp_table1Create Table: CREATE TABLE `tmp_table1` (`id` int(11) NOT NULL COMMENT 'id',`name` varchar(20) NOT NULL COMMENT 'name字段'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
- 使用
SELECT DISTINCT对查询结果进行去重:
mysql> insert into tmp_table1 select * from tmp_table2 order by id desc limit 3;
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from tmp_table1;
+------+------+
| id | name |
+------+------+
| 1 | aaa |
| 2 | bbb |
| 3 | ccc |
| 1000 | lll |
| 100 | ppp |
| 99 | qqq |
+------+------+
6 rows in set (0.00 sec)
- 使用
INSERT INTO将该筛选出来的结果插入至tmp_table1中;
mysql> insert into tmp_table1 select distinct * from distinct_table; -- 插入表内数据Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> select * from tmp_table1; -- 显示表内数据+----+------+| id | name |+----+------+| 1 | aaa || 2 | bbb || 3 | ccc |+----+------+3 rows in set (0.00 sec)
- 最后使用
RENAME对表进行重命名即可;
🎫 配合ORDER BY排序后以及LIMIT分页对数据进行插入

以上面的tmp_table1表为例;
假设存在一张新表(tmp_table2):
mysql> select * from tmp_table2;
+------+------+
| id | name |
+------+------+
| 1 | aaa |
| 2 | bbb |
| 3 | ccc |
| 99 | qqq |
| 100 | ppp |
| 1000 | lll |
| 20 | mmm |
| 79 | ooo |
+------+------+
同时该新表的表结构与tmp_table1表结构相同;
此时向表tmp_table1中插入tmp_table2表中id前3大的数据;
-
对该操作进行分析:
- 插入
tmp_table2表中的数据; id字段前3大的数据表示需要ORDER BY对数据进行排序,且为降序;- 需要前n个数据所以需要使用
LIMIT对数据结果进行分页;
- 插入
-
对上述分析使用
SELECT进行筛选:mysql> select * from tmp_table2 order by id desc; -- 显示出排序后的数据; +------+------+ | id | name | +------+------+ | 1000 | lll | | 100 | ppp | | 99 | qqq | | 79 | ooo | | 20 | mmm | | 3 | ccc | | 2 | bbb | | 1 | aaa | +------+------+ 8 rows in set (0.00 sec)mysql> select * from tmp_table2 order by id desc limit 3; -- 显示出排序后的数据并使用limit进行分页; +------+------+ | id | name | +------+------+ | 1000 | lll | | 100 | ppp | | 99 | qqq | +------+------+ 3 rows in set (0.00 sec) -
通过上述操作配合
INSERT INTO对数据进行插入;mysql> insert into tmp_table1 select * from tmp_table2 order by id desc limit 3; Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0mysql> select * from tmp_table1; +------+------+ | id | name | +------+------+ | 1 | aaa | | 2 | bbb | | 3 | ccc | | 1000 | lll | | 100 | ppp | | 99 | qqq | +------+------+ 6 rows in set (0.00 sec)
相关文章:
『 MySQL数据库 』插入查询结果
文章目录 🎟️ 前言🎟️ 创建一张结构相同的表🎟️ 表内插入查询结果🎫 对表内数据进行去重🎫 配合ORDER BY排序后以及LIMIT分页对数据进行插入 🎟️ 前言 在MySQL数据库中不仅可以直接根据字段类型等对数据…...
【笔记】小白学习电路维修
学习视频(b站):从0开始学电路 从0开始学电路维修 p1 黄色长方体元件P2 故障率最高的元件p3带芯铜丝线圈是什么区分电感和变压器接入电路分析: p4 交流和直流分界线整流桥接线整流桥故障判断 带色环的不一定是电阻 p1 黄色长方体元…...
linux简述进程
目录 进程 一个正在运行的程序,一个程序运行至少要启动一个进程,主进程 子进程 一个进程正常运行,至少要启动一个线程,主线程 子线程 进程的生命周期: 进程状态产生的原因: 查看当前系统的进程 ps au…...
由于设置了全局 QWidget 背景导致QT QCalendarWidget 表态背景异常
解决: 单独设置QCalendarWidget 的qss : 对象是查看源码所得 QWidget#qt_calendar_navigationbar{ ...... } QToolButton#qt_calendar_prevmonth, #qt_calendar_nextmonth, #qt_calendar_monthbutton, #qt_calendar_yearbutt…...
数据库的重要你了解多少?如何保障数据库的安全?
随着信息技术的快速发展,数据库已经成为企业、组织以及个人日常生活中不可或缺的一部分。然而,随着数据库的广泛应用,其安全性问题也日益凸显。数据库的安全性主要包括数据的完整性、保密性和可用性。本文将探讨数据库安全性的重要性、以及如…...
距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023
计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…...
docker搭建rabbit集群
1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像:rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的,我们自行创建一个网络后,创建容器时 给他们放在一起,就可以通信了。 docker netw…...
西南科技大学C++程序设计实验一(C++基础知识)
目录 一、实验目的 二、实验任务 三、预习内容(复习书中前3章内容,说明C++相对于C的扩展有哪些?) 四、问题思考与讨论 一、实验目的 1.熟悉编程环境 2.掌握程序调试方法。 3.熟悉枚举类型、结构体类型等自定义数据类型的使用 4.熟悉函数的定义、说明与使用 5.熟悉引用…...
Rust内存布局
题图忘了来自哪里.. 整型,浮点型,struct,vec!,enum 本文是对 Rust内存布局 的学习与记录 struct A { a: i64, b: u64,}struct B { a: i32, b: u64,}struct C { a: i64, b: u64, c: i32,}struct D { a: i32, b: u64, c: i32, d: u64,}fn main(…...
android 12 添加菜单
1.创建一级菜单 packages\apps\Settings\res\xml\top_level_settings.xml <com.android.settings.widget.HomepagePreferenceandroid:fragment"com.android.settings.DeviceStatusSettings"android:icon"drawable/ic_settings_display_white"android:…...
Map 的 5 种遍历方式
Map 的 5 种遍历方式 强烈推荐 for-each entrySet()遍历 和 lambda 表达式遍历 ,简洁又好用!!! package com.maptest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;pub…...
Linux的基本指令 ( 一 )
目录 前言 Linux基本指令 快速认识五个指令 ls指令 补充内容 pwd指令 补充内容 cd指令 补充内容 重新认识指令 指令的本质 which指令 alias指令 最后 一个文件的三种时间 tree指令及安装 tree指令 前言 关于Linux操作系统的桌面,在学校教学中我们…...
【深度学习】学习率及多种选择策略
学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它。相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量,当学习率最优时,模型的有效容量最大。本文从手动选择学习率到使用预热机制…...
具有“真实触感”的动捕数据手套mhand pro,提供更精确的动作捕捉
随着人工智能的普及和万物互联,vr虚拟技术备受关注,为了更加真实的虚拟现实交互体验,动捕数据手套的使用逐渐普及,vr手套可以实时采集各手指关节运动数据,使用动捕数据手套可以在虚拟现实的场景中实现对真实手部运动的…...
Mongodb使用killCursors停止运行的cursor
cursor指向查询结果的游标,通过游标向下移动,获得下一条查询结果。MongoDB分批向用户返回数据结果。通过游标的移动, mongodb确定当前返回结果的位置,是否要加载更多数据到内存当中。cursor有默认的超时时间, 超时后cu…...
电脑风扇转一下停一下,无法正常开机问题解决
今天同事电话说电脑开不了机了,只听见风扇不停地呜呜地作响。笔者第一反应是不是硬件哪里出问题了,于是二话没说拿起心爱的螺丝刀就闪了过去。 按下电源,确实如电话所述。但感觉风扇并非一直在转,而是时断时续。由于听不大真切&a…...
无需部署服务器,如何结合内网穿透实现公网访问导航页工具Dashy
文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…...
Go GORM简介
GORM(Go Object-Relational Mapping)是一个用于Go语言的ORM库,它提供了一种简单、优雅的方式来操作数据库。GORM支持多种数据库,包括MySQL、PostgreSQL、SQLite和SQL Server。以下是GORM的一些主要特性 全功能ORM:GORM…...
前端量子纠缠 效果炸裂 multipleWindow3dScene
我 | 在这里 🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师) 🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…...
第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息
文章目录 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULLXMLNILXMLUSEEMPTYELEMENT 导入值 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XML…...
无机布防火卷帘门报价透明,包工包料,一次说清所有费用
很多客户在选购无机布防火卷帘门时,最关心实际成交价格,也担心报价不清晰,后期产生各类额外支出。行业内产品定价参差不齐,选材做工不同,最终价位自然存在差距,挑选时不能只看表面低价。 👉 点击…...
Topit:macOS窗口置顶神器,让多任务处理效率翻倍
Topit:macOS窗口置顶神器,让多任务处理效率翻倍 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在macOS上同时处理多个任务时…...
告别沉浸式白屏!UniApp中iOS/Android底部安全区与顶部状态栏颜色自定义全攻略
告别沉浸式白屏!UniApp中iOS/Android底部安全区与顶部状态栏颜色自定义全攻略当开发者尝试在UniApp中实现沉浸式设计时,往往会遇到一个令人头疼的问题——默认的白色安全区和状态栏导致界面元素(如电池图标、信号强度)几乎不可见。…...
第三幕 御酒掺土,江山为祭
金牌监制,您这一刀改得极其精准,直接把整部戏的格局从“江湖恩怨”拉升到了“家国博弈”的层面!确实,如果只谈慈悲,唐三藏只是个高僧;但如果加上李世民的重托和大唐的国运,他就是一个背负着沉重…...
Midjourney锐化效果失效真相(2024官方未公开的渲染管线瓶颈解析)
更多请点击: https://intelliparadigm.com 第一章:Midjourney锐化效果失效真相(2024官方未公开的渲染管线瓶颈解析) 自2024年V6.2版本起,大量用户反馈 --stylize 与 --sharp 参数组合下图像边缘锐化效果显著弱化&am…...
艾尔登法环存档迁移终极指南:3分钟解决角色转移难题
艾尔登法环存档迁移终极指南:3分钟解决角色转移难题 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 还在为《艾尔登法环》存档版本不兼容而烦恼吗?EldenRingSaveCopier 是你的终极解决…...
DeepSeek代码风格检查避坑指南(内部审计报告首次披露:37个被忽略的合规红线)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek代码风格检查的合规性本质与审计背景 DeepSeek代码风格检查并非单纯的技术偏好约束,而是嵌入研发治理链条中的合规性控制节点。其本质是将编程实践与组织级安全策略、行业监管要求&…...
圈复杂度>12=技术债炸弹?DeepSeek静态分析实战:从17.8→3.2的重构路径全披露
更多请点击: https://codechina.net 第一章:圈复杂度>12技术债炸弹?DeepSeek静态分析实战:从17.8→3.2的重构路径全披露 当函数圈复杂度(Cyclomatic Complexity)持续高于12,它不再是…...
CTF出题人视角:从NewStarCTF 2023的WEB题,聊聊PHP特性与Flask Debug的那些‘坑’
CTF出题艺术:从PHP特性到Flask Debug的攻防博弈 当一道精心设计的CTF题目被成功破解时,出题人与解题者之间往往存在一场无声的思维交锋。作为NewStarCTF 2023 WEB方向的出题人,我想通过复盘"Begin of PHP"和"ErrorFlask"…...
DeepSeek-R1代码补全实测报告:37个真实项目、8类编程语言、48小时压测后,我删掉了Copilot
更多请点击: https://intelliparadigm.com 第一章:DeepSeek-R1代码补全实测报告总览 DeepSeek-R1 是深度求索(DeepSeek)推出的开源大语言模型,专为代码理解与生成任务优化。本章聚焦其在主流 IDE 环境中代码补全能力的…...
