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

mysql | 复制表结构和数据

一、mysql 复制表结构和数据的三种情况

mysql 中复制表结构和数据,主要有以下三种情况:

一是:只复制表的结构到新表中,即新建一张与原表结构一致的表。

二是:复制表结构并同时将数据也复制到新表中,相当于备份。

三是:将一张表的数据复制插入到另一张已有表中,分为全部字段复制和部分字段复制两种情况。

二、只复制表结构到新表

只复制表的结构到新表中,即新建一张与原表结构一致的表。

如:现在有一张名为【grade】的数据表,表结构如下:

需求:只复制原始表【grade】的表结构到新表【grade1】中;即新建一个【grade1】表,结构与原始表【grade】一致。

有以下两种方法:

一是:CREATE TABLE 新表 LIKE 原始表

二是:CREATE TABLE 新表 SELECT * from 原始表 WHERE 1=2

详细用法如下:

(一)使用 like

实现方法:CREATE TABLE 新表 LIKE 原始表

示例:CREATE TABLE grade1 LIKE grade

(二)CREATE +SELECT 组合

实现方法:CREATE TABLE 新表 SELECT * from 原始表 WHERE 1=2

示例:CREATE TABLE grade1 SELECT * FROM grade WHERE 1=2

注:where条件过滤,(1=2)条件为假,表示什么都不选择;(1=1)条件为真,表示全都选择,常用于程序中动态拼接sql语句。

以上两种方法,最终都能实现将原始表【grade】的表结构复制到新表【grade1】。效果如下:

三、复制表结构和数据到新表

复制表结构并同时将数据也复制到新表中,相当于备份。

如,原始表【grade】数据如下:

需求:将原始表【grade】的表结构和数据均复制到新表【grade1】中。

实现方法:CREATE TABLE 新表 SELECT * from 原始表

示例:CREATE TABLE grade1 SELECT * FROM grade

结果:

特别注意:该方法与上面的【第二章(二)】中的一致,区别就在于select 查询语句后面跟的条件不同。select 查询语句后面的条件,如(where 1=1)表示全部数据,(limit 3)表示复制3条数据等。

四、将一张表的数据复制到另一张已有表中

将一张表的数据复制插入到另一张已有表中,分为全部字段复制和部分字段复制两种情况。

(一)全部字段复制

全部字段复制,指的是原表中的所有字段都要复制过去,至于这些字段下面的所有数据,是否也全部复制过去,可以选择添加限制条件。

以此,全字段复制,就要求两张表的结构要是完全一致的。

如:将【grade】表的数据复制插入到表【grade3】中(两个表结构相同)。

实现方法:INSERT INTO 已有表 SELECT * FROM 原始表

示例:INSERT INTO grade3 SELECT * FROM grade

特别注意:select 查询语句后面可以跟条件,限制复制数据的条数等。

(二)部分字段复制

如果两个表的结构(字段)不一致,也可以只复制部分字段数据。

如:有两张表【grade】和【grade4】,两张表的结构和字段不是完全一致,使用(一)中的全部字段复制命令,显然是不行的。但是可以实现将部分字段的数据复制过去。

实现方法:INSERT INTO grade3(字段1,...) SELECT 字段1,... FROM grade

如:将原表【grade】中的【stu_course、stu_grade】两个字段的数据,复制到另一张表【grade4】中的【course、grade】两个字段。

完整命令:INSERT INTO grade4(course,grade) SELECT stu_course,stu_grade FROM grade

特别注意:

一是:select 查询语句后面可以跟条件,限制复制数据的条数等。

二是:部分字段复制时,需要注意被复制表的其他字段的约束条件,如不能为空等限制。

以上就是 mysql 中复制表结构和数据的三种情况,可供参考。

-end-

http://www.rkmt.cn/news/127998.html

相关文章:

  • 论文AI率高怎么办?认准这2个免费降低AI率的工具,嘎嘎快!
  • 软件解耦与扩展:插件式开发方式(基于 C++ 与 C# 的实现)
  • AI概念扫盲:LoRA微调原理是什么?
  • 10个高效降AI率工具,本科生必看!
  • 动态规划算法
  • Section four Homework
  • 阅读诗歌:时间的沙漏
  • Item45--运用成员函数模板接受所有兼容类型
  • 强烈推荐 wxWidgets
  • 过半的家庭都踩过近视的“坑”,每位爸妈都值得注意!
  • 2025年度江西南昌老人护理企业TOP7评测!专业照护+经验沉淀优质品牌榜单发布,用心守护构筑长者幸福晚年 - 全局中转站
  • 前端开发随笔
  • 程序员的幸福之道:不必追逐权力与学历——在代码与生活之间寻找真正的自由
  • 基于java的SpringBoot/SSM+Vue+uniapp的课程目标达成度系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 动态规划解决最小编辑距离问题
  • 【Memory协议栈】AUTOSAR架构下NvM_ReadAll时间优化的实用方案
  • 今天,终于进博客园了
  • 基于java的SpringBoot/SSM+Vue+uniapp的心理咨询预约管理的详细设计和实现(源码+lw+部署文档+讲解等)
  • Item18--让接口容易被正确使用,不易被误用
  • Item34--区分接口继承和实现继承
  • Item24--若所有参数皆需类型转换,请为此采用 non-member 函数
  • 基于java的SpringBoot/SSM+Vue+uniapp的赛车爱好者交流平台的详细设计和实现(源码+lw+部署文档+讲解等)
  • Item25--考虑写出一个不抛异常的 swap 函数
  • 3562. 折扣价交易股票的最大利润
  • Item15--在资源管理类中提供对原始资源的访问
  • Item21--必须返回对象时,别妄想返回其 reference
  • 1985-2024年中国绿色专利数据库(绿色技术专利分类)
  • Item16--`new` 与 `delete` 的对应规则
  • 预见2026:家居新品首秀平台选择战略——五大核心展会深度评估与推荐 - 匠子网络
  • 国外软件,安装即时专业版!