当前位置: 首页 > 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…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

表单设计器拖拽对象时添加属性

背景&#xff1a;因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...