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

『 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大的数据;

  • 对该操作进行分析:

    1. 插入tmp_table2表中的数据;
    2. id字段前3大的数据表示需要ORDER BY对数据进行排序,且为降序;
    3. 需要前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 表达式遍历 &#xff0c;简洁又好用&#xff01;&#xff01;&#xff01; 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操作系统的桌面&#xff0c;在学校教学中我们…...

【深度学习】学习率及多种选择策略

学习率是最影响性能的超参数之一&#xff0c;如果我们只能调整一个超参数&#xff0c;那么最好的选择就是它。相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量&#xff0c;当学习率最优时&#xff0c;模型的有效容量最大。本文从手动选择学习率到使用预热机制…...

具有“真实触感”的动捕数据手套mhand pro,提供更精确的动作捕捉

随着人工智能的普及和万物互联&#xff0c;vr虚拟技术备受关注&#xff0c;为了更加真实的虚拟现实交互体验&#xff0c;动捕数据手套的使用逐渐普及&#xff0c;vr手套可以实时采集各手指关节运动数据&#xff0c;使用动捕数据手套可以在虚拟现实的场景中实现对真实手部运动的…...

Mongodb使用killCursors停止运行的cursor

cursor指向查询结果的游标&#xff0c;通过游标向下移动&#xff0c;获得下一条查询结果。MongoDB分批向用户返回数据结果。通过游标的移动&#xff0c; mongodb确定当前返回结果的位置&#xff0c;是否要加载更多数据到内存当中。cursor有默认的超时时间&#xff0c; 超时后cu…...

电脑风扇转一下停一下,无法正常开机问题解决

今天同事电话说电脑开不了机了&#xff0c;只听见风扇不停地呜呜地作响。笔者第一反应是不是硬件哪里出问题了&#xff0c;于是二话没说拿起心爱的螺丝刀就闪了过去。 按下电源&#xff0c;确实如电话所述。但感觉风扇并非一直在转&#xff0c;而是时断时续。由于听不大真切&a…...

无需部署服务器,如何结合内网穿透实现公网访问导航页工具Dashy

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…...

Go GORM简介

GORM&#xff08;Go Object-Relational Mapping&#xff09;是一个用于Go语言的ORM库&#xff0c;它提供了一种简单、优雅的方式来操作数据库。GORM支持多种数据库&#xff0c;包括MySQL、PostgreSQL、SQLite和SQL Server。以下是GORM的一些主要特性 全功能ORM&#xff1a;GORM…...

前端量子纠缠 效果炸裂 multipleWindow3dScene

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…...

第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息

文章目录 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULLXMLNILXMLUSEEMPTYELEMENT 导入值 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XML…...

三、选择排序

算法原理一种简单直观的排序算法&#xff0c;其基本思想是每次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的数据元素排完。排序步骤初始化&#xff1a;在未排序序列中找到最小&#xf…...

Qwen3-Reranker-0.6B效果展示:中英文跨语言语义重排惊艳案例集

Qwen3-Reranker-0.6B效果展示&#xff1a;中英文跨语言语义重排惊艳案例集 1. 模型能力概览 Qwen3-Reranker-0.6B 是阿里云通义千问团队推出的新一代文本重排序模型&#xff0c;专门为文本检索和排序任务设计。这个模型虽然只有0.6B参数&#xff0c;但在语义相关性判断方面表…...

Wan2.2-I2V-A14B镜像免配置:内置模型权重42GB,节省下载与校验时间

Wan2.2-I2V-A14B镜像免配置&#xff1a;内置模型权重42GB&#xff0c;节省下载与校验时间 1. 镜像概述与核心优势 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像&#xff0c;针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像最大的特点是内置了完整的42GB模型…...

CodeMagicianT奈

前面我们对 Kafka 的整体架构和一些关键的概念有了一个基本的认知&#xff0c;本文主要介绍 Kafka 的一些配置参数。掌握这些参数的作用对我们的运维和调优工作还是非常有帮助的。 写在前面 Kafka 作为一个成熟的事件流平台&#xff0c;有非常多的配置参数。详细的参数列表可以…...

突破SWE-agent测试瓶颈:并行执行架构深度优化指南

突破SWE-agent测试瓶颈&#xff1a;并行执行架构深度优化指南 【免费下载链接】SWE-agent SWE-agent takes a GitHub issue and tries to automatically fix it, using your LM of choice. It can also be employed for offensive cybersecurity or competitive coding challen…...

终极Flash浏览器指南:如何在现代系统中完美运行Flash游戏与网页

终极Flash浏览器指南&#xff1a;如何在现代系统中完美运行Flash游戏与网页 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser CefFlashBrowser是一个专为解决Flash内容在现代浏览器中无法运…...

DIY电源设计避坑指南:为什么你的滤波电路总达不到理想效果?

DIY电源设计避坑指南&#xff1a;为什么你的滤波电路总达不到理想效果&#xff1f; 在创客工作坊或学生电子竞赛中&#xff0c;一个稳定可靠的电源往往是项目成功的基础。但许多爱好者都会遇到这样的困扰&#xff1a;明明按照教科书设计了滤波电路&#xff0c;示波器上的纹波却…...

:RAG 入门-向量嵌入与检索桌

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

Mojo+Python混合编程避坑手册:5个致命安装错误及对应修复命令(附官方源码验证)

第一章&#xff1a;MojoPython混合编程避坑手册&#xff1a;5个致命安装错误及对应修复命令&#xff08;附官方源码验证&#xff09; Mojo 是 Modular 官方推出的高性能编程语言&#xff0c;原生兼容 Python 语法&#xff0c;但其工具链对环境依赖极为敏感。初学者在配置 MojoP…...

从原理到实战:LRU缓存算法的核心机制与工程实践

1. LRU缓存算法的基础原理 最近最少使用&#xff08;LRU&#xff09;算法是每个后端工程师都应该掌握的缓存淘汰策略。我第一次在线上系统使用LRU时&#xff0c;发现它完美解决了我们的缓存击穿问题。简单来说&#xff0c;LRU就像图书馆里整理书籍的管理员——总是把最近被借阅…...