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

MYSQL——基础知识(SQL的临时表和克隆表)

目录前言一、MySQL 临时表会话级的“草稿纸”二、MySQL 克隆表完整复制表结构与数据三、临时表 vs 克隆表对比总结四、最佳实践建议五、总结前言在 MySQL 开发与运维中临时表Temporary Table和克隆表Cloned Table是两种非常实用但用途迥异的技术。临时表用于在单个会话中暂存中间计算结果用完即焚克隆表则用于完整复制一张表的结构、索引乃至数据常用于备份、测试或迁移。本文将系统讲解两者的原理、语法、使用场景及最佳实践助你灵活应对复杂数据处理需求。一、MySQL 临时表会话级的“草稿纸”1. 什么是临时表临时表是仅在当前数据库连接会话中可见的特殊表。其生命周期与会话绑定创建CREATE TEMPORARY TABLE销毁会话结束时自动删除也可手动DROP核心特性同名临时表可与普通表共存查询时优先使用临时表不同会话可创建同名临时表互不干扰执行SHOW TABLES不会显示临时表。2. 创建临时表的两种方式(1) 显式定义结构CREATE TEMPORARY TABLE temp_sales ( product_name VARCHAR(50) NOT NULL, total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00, avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00, total_units_sold INT UNSIGNED NOT NULL DEFAULT 0 );(2) 从查询结果创建常用-- 复制 2023 年后的订单到临时表想实验的可以自己创建订单表 CREATE TEMPORARY TABLE temp_orders AS SELECT * FROM orders WHERE order_date 2023-01-01;注意此方式不复制索引、主键、自增属性仅复制列名和数据类型。3. 操作临时表与普通表一致-- 插入数据 INSERT INTO temp_sales (product_name, total_sales, avg_unit_price, total_units_sold) VALUES (cucumber, 100.25, 90.00, 2); -- 查询 SELECT * FROM temp_sales; -- 修改结构如添加列 ALTER TABLE temp_sales ADD COLUMN region VARCHAR(30); -- 手动删除释放资源 DROP TEMPORARY TABLE IF EXISTS temp_sales;注意即使不手动删除会话断开后临时表自动消失。4. 典型应用场景场景说明复杂报表计算将多步聚合结果暂存避免重复计算ETL 中间处理清洗、转换数据时作为缓冲区存储过程/函数在逻辑内部保存临时结果集PHP/Python 脚本脚本执行期间使用结束后自动清理示例统计高价值客户-- 步骤1筛选大额订单 CREATE TEMPORARY TABLE high_value_orders AS SELECT customer_id, SUM(amount) AS total FROM orders WHERE amount 1000 GROUP BY customer_id; -- 步骤2关联客户信息 SELECT c.name, h.total FROM customers c JOIN high_value_orders h ON c.id h.customer_id; -- 脚本结束临时表自动销毁二、MySQL 克隆表完整复制表结构与数据与临时表不同克隆表是永久表目标是1:1 复制原表包括表结构列、数据类型索引主键、唯一、普通默认值、自增属性存储引擎如 InnoDBCREATE TABLE ... SELECT无法做到这一点它只复制数据和基本列定义丢失索引和约束。正确克隆表的三步法步骤1获取原表完整建表语句SHOW CREATE TABLE runoob_tbl\G输出示例CREATE TABLE runoob_tbl ( runoob_id int(11) NOT NULL AUTO_INCREMENT, runoob_title varchar(100) NOT NULL DEFAULT , runoob_author varchar(40) NOT NULL DEFAULT , submission_date date DEFAULT NULL, PRIMARY KEY (runoob_id), UNIQUE KEY AUTHOR_INDEX (runoob_author) ) ENGINEInnoDB;步骤2修改表名并执行建表CREATE TABLE clone_tbl ( -- 仅改表名 runoob_id int(11) NOT NULL AUTO_INCREMENT, runoob_title varchar(100) NOT NULL DEFAULT , runoob_author varchar(40) NOT NULL DEFAULT , submission_date date DEFAULT NULL, PRIMARY KEY (runoob_id), UNIQUE KEY AUTHOR_INDEX (runoob_author) ) ENGINEInnoDB;步骤3复制数据INSERT INTO clone_tbl SELECT * FROM runoob_tbl; -- 或指定列更安全 INSERT INTO clone_tbl (runoob_id, runoob_title, runoob_author, submission_date) SELECT runoob_id, runoob_title, runoob_author, submission_date FROM runoob_tbl;结果clone_tbl与runoob_tbl完全一致替代方案使用mysqldump适合跨库/跨服务器导出单表控制台操作mysqldump -u username -p dbname original_table original_table.sql导入为新表需先编辑 SQL 文件修改表名或导入后重命名。控制台操作mysql -u username -p new_dbname original_table.sql适用场景生产环境备份、跨服务器迁移、版本回滚。三、临时表 vs 克隆表特性临时表Temporary Table克隆表Cloned Table生命周期会话结束自动销毁永久存在需手动删除可见范围仅当前会话所有会话可见存储内容临时中间数据原表的完整副本是否复制索引否除非显式定义是通过SHOW CREATE TABLE典型用途计算缓存、脚本中间结果备份、测试、数据迁移命令CREATE TEMPORARY TABLESHOW CREATE TABLECREATE TABLEINSERT INTO ... SELECT四、最佳实践建议临时表使用建议避免在临时表上创建过多索引会话短收益低大数据量临时表注意内存/磁盘使用InnoDB 临时表可能写磁盘在存储过程中使用后及时DROP释放资源。克隆表使用建议克隆大表时注意锁表影响INSERT INTO ... SELECT会读锁原表生产环境操作前先在测试库验证若只需结构跳过步骤3不复制数据。五、总结临时表 会话专属的“便签纸”轻量、自动清理适合中间计算克隆表 原表的“双胞胎”结构数据全复制适合备份与迁移。掌握这两种技术能让你在面对复杂查询、数据迁移、性能优化等场景时游刃有余。合理选择事半功倍

相关文章:

MYSQL——基础知识(SQL的临时表和克隆表)

目录 前言 一、MySQL 临时表:会话级的“草稿纸” 二、MySQL 克隆表:完整复制表结构与数据 三、临时表 vs 克隆表:对比总结 四、最佳实践建议 五、总结 前言 在 MySQL 开发与运维中,临时表(Temporary Table&…...

基于LangChain构建AI社交媒体智能体:自动化内容发布与互动实践

1. 项目概述:一个能帮你打理社交媒体的AI智能体最近在GitHub上看到一个挺有意思的项目,叫langchain-ai/social-media-agent。光看名字,你大概就能猜到它的核心功能:一个基于LangChain框架构建的、能够自动化处理社交媒体任务的AI智…...

告别混乱的Excel表格:我是如何用NetBox + Python脚本实现网络资产自动化管理的

从Excel到NetBox:网络资产管理的自动化革命 凌晨三点,我盯着屏幕上第37个版本的IP地址分配表,突然意识到自己陷入了数据地狱——这份由五个同事轮流维护的Excel表格里,相同的设备出现了三种命名规则,某个网段的子网掩…...

保姆级教程:用Python+OpenCV玩转双目视觉,从相机标定到SGBM立体匹配全流程

PythonOpenCV双目视觉实战:从标定到深度图生成的避坑指南 刚接触双目视觉时,我对着两个摄像头拍出的图像发愁——明明是人眼轻松实现的立体感知,用代码实现却处处是坑。本文将带你用Python和OpenCV搭建完整的双目视觉流水线,从相机…...

告别黑屏!手把手教你用ZYNQ PS端库函数正确驱动VDMA,搞定OV5640实时显示

从寄存器到库函数:ZYNQ VDMA驱动开发的进阶实践 在ZYNQ平台上实现OV5640摄像头到LCD屏幕的实时显示,VDMA(Video Direct Memory Access)配置是关键环节。许多开发者习惯直接操作寄存器,这种方式直观但维护性差&#xff…...

如何快速掌握开源思源宋体:开发者的终极免费字体解决方案

如何快速掌握开源思源宋体:开发者的终极免费字体解决方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版设计寻找合适的字体而烦恼吗?Source Ha…...

Prometheus告警规则进阶:精准规避Kubernetes Pod启动误报

1. 为什么Pod启动会触发误报警? 在Kubernetes集群中部署应用时,最让人头疼的问题之一就是频繁收到Pod启动阶段的误报警。这个问题我深有体会,特别是在负责算法服务集群维护的那段时间。每次发版后,手机就会收到一堆告警通知&#…...

MusicFreePlugins:打破音乐平台壁垒的终极免费聚合方案

MusicFreePlugins:打破音乐平台壁垒的终极免费聚合方案 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 厌倦了在不同音乐应用间频繁切换?受够了VIP会员墙和地域版权限制&am…...

MusicFreePlugins:打破音乐平台壁垒,打造你的专属音乐聚合器

MusicFreePlugins:打破音乐平台壁垒,打造你的专属音乐聚合器 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 还在为音乐版权限制和VIP付费墙烦恼吗?MusicFreePl…...

AWDP防御效率翻倍秘籍:手把手教你写自动化Patch脚本(附PHP/Python/Go/Node.js模板)

AWDP防御效率翻倍秘籍:手把手教你写自动化Patch脚本(附PHP/Python/Go/Node.js模板) 在AWDP这类高强度攻防对抗赛中,防御环节的效率往往决定了最终排名。当其他队伍还在手动上传补丁时,你的团队已经通过自动化脚本完成…...

一篇搞定git

1. Git概述 1.1 Git简介 Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种: 本地仓库:开发人员自己电脑上的 Git 仓库 远程仓库:远…...

Beyond the WORM with MinIO object storage

I find the terminology of WORM (Write Once Read Many) coming back into the IT speak in recent years. In the era of rip and burn, WORM was a natural thing where many of us “youngsters” used to copy files to a blank CD or DVD. I got know about how WORM wor…...

Hermes Agent简介

1、Hermes Agent 是什么?Hermes Agent 是由 Nous Research 在 2026 年 2 月开源发布的一款自进化 AI 智能体框架,采用 MIT 协议,完全免费可商用 。它的核心定位不是简单的聊天机器人或代码补全工具,而是一个部署在你自己服务器上、…...

从路由器到服务器:OpenWRT、Yocto、Buildroot与Ubuntu的嵌入式与通用之路

1. 嵌入式与通用系统的技术光谱 当你面对一个物联网设备开发项目时,第一个要解决的问题往往是:该选择哪种操作系统或构建框架?这个问题没有标准答案,关键在于理解你的项目在"嵌入式-通用"这个技术光谱上的位置。我做了1…...

FP8浮点运算原理与深度学习优化实践

1. FP8浮点运算基础与设计原理在深度学习和大规模矩阵运算领域,浮点计算精度的选择一直是性能与准确率权衡的关键。传统FP32(单精度)和FP16(半精度)虽然能提供足够的数值精度,但在计算密集场景下存在明显的…...

欧姆龙NJ/NX系列PLC FINS通信实战:在Ignition SCADA中配置数据采集的完整流程

欧姆龙NJ/NX系列PLC FINS通信实战:在Ignition SCADA中配置数据采集的完整流程 工业自动化系统的核心在于设备间的无缝通信。作为欧姆龙新一代控制器的代表,NJ/NX系列PLC凭借其高性能和可靠性,在智能制造领域占据重要地位。而FINS协议作为欧姆…...

Windows 电脑安装安卓应用的轻量级解决方案:APK 安装器

Windows 电脑安装安卓应用的轻量级解决方案:APK 安装器 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾希望在 Windows 电脑上运行安卓应用&#x…...

告别死板ALV:手把手教你用ABAP为报表添加智能双击交互(含代码复用技巧)

告别死板ALV:手把手教你用ABAP为报表添加智能双击交互(含代码复用技巧) 在SAP开发领域,ALV报表作为数据展示的标准组件,其交互体验直接影响用户效率。传统ALV双击事件处理往往陷入"一次开发,无法复用&…...

VSCode打造车规级开发环境:从AUTOSAR兼容配置到CANoe集成调试,12步零错误落地实录

更多请点击: https://intelliparadigm.com 第一章:VSCode车载开发环境的战略定位与车规级意义 在智能网联汽车加速落地的背景下,VSCode 已超越传统编辑器角色,演变为符合 ISO 26262 ASIL-B 级别开发要求的轻量化集成开发平台。其…...

探究 libhv Socketpair 在 clumsy 模拟延迟下的“超时”之谜

前言在进行网络编程开发时,我们经常使用 libhv 这种高性能的网络库,并利用 clumsy 等工具模拟弱网环境。最近在 Windows 环境下,当开启 clumsy 的 inbound 和 outbound 双向延迟(20ms)时,发现 libhv 的 Soc…...

2026 年 5 月・高项第 7 章 立项管理|精准预测 + 必刷练习题

一、2026 年 5 月 必考预测(5 题稳稳覆盖) 立项管理完整流程(排序题必考) 项目建议书 4 大核心内容(单选 / 多选) 四大可行性:技术 / 经济 / 法律 / 社会(场景判断题必考 1 题) 初步可行性 vs 详细可行性(精度、作用、是否可省略) 成本效益指标:投资回收期、NPV、I…...

自托管AI智能体平台Blink:从架构设计到生产部署实战

1. 项目概述:一个自托管的AI智能体平台最近在折腾一个挺有意思的项目,叫Blink。简单来说,它是一个让你能在自己服务器上搭建、运行和管理AI智能体的平台。你可以把它想象成一个“智能体操作系统”,它负责把智能体部署成Docker容器…...

Layerdivider终极指南:3步将单图转为专业PSD分层文件

Layerdivider终极指南:3步将单图转为专业PSD分层文件 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否厌倦了在Photoshop中手动分离图像…...

从FreeRTOS转RT-Thread,线程创建这几点差异新手最容易踩坑

从FreeRTOS转RT-Thread:线程创建的关键差异与实战避坑指南 嵌入式开发者常面临RTOS迁移的场景,而FreeRTOS与RT-Thread作为两大主流选择,其线程管理机制存在显著差异。本文将深入剖析线程创建环节的五个核心差异点,通过对比表格、代…...

本地LLM智能搜索聚合器:构建私有化AI搜索工具

1. 项目概述:一个完全本地的、由LLM驱动的智能搜索聚合器 如果你和我一样,对当前主流搜索引擎和AI助手的“信息过滤”感到不安,或者单纯想拥有一个完全私密、不受任何外部API限制的自主信息检索工具,那么LLocalSearch这个项目绝对…...

从RKE到PKE:你的车钥匙是如何‘变聪明’的?一次讲清低频唤醒与双向认证

从RKE到PKE:智能车钥匙的技术革命与安全进化 车钥匙的智能化演进,本质上是一场关于用户体验与安全性的双重革命。十年前,我们还在习惯性地按下钥匙按钮解锁车辆;如今,只需轻触门把手甚至直接拉开车门,车辆就…...

如何永久保存微信聊天记录:WeChatMsg数据留存与隐私保护终极指南

如何永久保存微信聊天记录:WeChatMsg数据留存与隐私保护终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…...

手把手教你用ESP8266(NodeMCU)的I2C接口同时读取温湿度、光照和空气质量传感器

用ESP8266打造多传感器环境监测系统:I2C接口实战指南 在智能家居和物联网项目中,环境数据采集是最基础也最关键的环节之一。想象一下,当你希望用一个设备同时监测房间的温度、湿度、光照和空气质量时,如何优雅地解决多个传感器的集…...

GoWxDump:当取证技术遇上Go语言的优雅之美

GoWxDump:当取证技术遇上Go语言的优雅之美 【免费下载链接】GoWxDump 删库 项目地址: https://gitcode.com/gh_mirrors/go/GoWxDump 在一个数字取证专家的日常工作中,微信聊天记录往往成为关键证据的宝库。想象一下这样的场景:调查人员…...

避坑指南:Canal 1.1.7版本在Linux下的完整安装与双模式配置(附1.1.6版本报错解决方案)

深度避坑:Canal 1.1.7企业级部署实战与版本陷阱全解析 当数据库变更捕获成为业务刚需时,Canal作为阿里巴巴开源的MySQL binlog增量订阅组件,其稳定性直接决定数据管道的可靠性。本文将揭示1.1.6版本中那些官方文档未曾提及的致命陷阱&#xf…...