mysql 复制行数据命令经验分享(Mysql 复制一条数据)

 更新时间:2023年09月09日 10:46:40   作者:39879881  
有时候表里有一行已经添加好的数据,想要多复制几百条用来测试比如要分页测试等,需要多条数据,但是有时候数据表字段太多了,有几十个,一个一个手写那是不可能的

没主键

如有有自增字段不需要写

insert into tt (f1,f2) select f1,f2 from tt

有主键

两步走

第一步排除主键字段,第二步,把结果复制到插入语句中去,执行,它数据是翻倍的,随便执行几次就有几百条了。。。

SELECT
    GROUP_CONCAT( column_name SEPARATOR ',' )
FROM
    information_schema.COLUMNS
WHERE
        column_name <> '想要排除的字段名'
  AND table_name = '表名字'
GROUP BY
    table_name;
insert into 表名 (排除字段后剩余字段) select 排除字段后剩余字段 from 表名;

注意最后没有where,直接就是全表数据复制。

mysql编程

这个就是像写代码一样,搞一个循环,可以定义变量接收结果。。然后执行。

这个还是比较复杂,等有空了我再来写出来吧。

下面是比较好的方案

Mysql 复制一条数据

从不同的表复制

insert into 表1 select * from 表2 where id =** ;

同一张表中复制(无主键)

insert into 表1 select * from 表1 where id =** ;

同一张表中复制(有主键)

insert into 表1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表1 where id= ** ;

实例讲解

一、复制表里面的一条记录并插入表里面

 insert into article(title,keywords,desc,contents) select title,keywords,desc,contents from article where article_id = 100;

二、复制表里的多条数据/记录,并插入到表里面

① INSERT INTO `power_node`(title,type,status) SELECT title,type,status FROM power_node WHERE id < 5;

② INSERT into jiaban (num,overtime) SELECT num,overtime from jiaban where id IN(1,3,5,6,7,9);

三、在创建表时,就插入另一张表里面的某些数据

① create table user AS select * from member where id < 10

CREATE TABLE  表1 as  select * from  表2;

as创建出来的表1(新表)缺少表2(源表)的索引信息,只有表结构相同,没有索引。

CREATE TABLE  表1  like  表2;

like 创建出来的新表包含源表的完整表结构和索引信息

as用来创建相同表结构并复制源表数据

like用来创建完整表结构和全部索引

oracle支持as,也是只有表结构没有索引;oracle不支持like。

脚本之家小编补充

针对dede的一些复制表出错的解决方案

软件
文章

输入 id

其实就是在 addonarchive或anaddsoft adonarticle 中添加这个 id 什么的,可以从别的id复制一条(文章复制文章 软件复制软件的)

insert into dede_archives select typeid,channel,adminID,title from dede_archives where id=**;

最后的id为要复制的文件或软件id
默认id是自增加字符,需要复制后再进行修改为想要增加的id才可以。

insert into 表1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表1 where id= ** ;

相关文章

  • 详解SUM函数在MySQL中的值处理原则

    详解SUM函数在MySQL中的值处理原则

    在SQL中,SUM函数是用于计算指定字段的总和的聚合函数,这篇文章将给大家详细介绍了SUM函数在SQL中的值处理原则,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • SELECT * 效率低原理解析

    SELECT * 效率低原理解析

    这篇文章主要为大家介绍了SELECT * 效率低原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • MySQL8.0就地升级到MySQL8.4.0的方法

    MySQL8.0就地升级到MySQL8.4.0的方法

    本文主要介绍了MySQL8.0就地升级到MySQL8.4.0的方法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • MySQL子查询的使用详解上篇

    MySQL子查询的使用详解上篇

    子查询是在查询语句里面再嵌套一个查询,这是因为我们在提取数据的时候有很多不知道的数据产生了依赖关系。本文为大家总结了一下MySQL数据库子查询语法规则,感兴趣的可以了解一下
    2022-08-08
  • 一次MySQL慢查询导致的故障

    一次MySQL慢查询导致的故障

    这篇文章主要介绍了如何对MySQL慢查询导致的故障进行处理,慢查询是我们在mysql中经常需要使用到的一个很方便的功能,慢查询对于跟踪有问题的查询很有用,需要的朋友可以参考下
    2015-08-08
  • Mysql常用命令汇总

    Mysql常用命令汇总

    这篇文章主要介绍了Mysql常用命令,都是mysql数据库日常最基本的操作命令,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • MYSQL Left Join优化(10秒优化到20毫秒内)

    MYSQL Left Join优化(10秒优化到20毫秒内)

    在实际开发中,相信大多数人都会用到join进行连表查询,但是有些人发现,用join好像效率很低,而且驱动表不同,执行时间也不同。那么join到底是如何执行的呢,本文就详细的介绍一下
    2021-12-12
  • MySQL 视图 第1349号错误解决方法

    MySQL 视图 第1349号错误解决方法

    把下面SQL里的SELECT单独执行,没有问题,但是用来CREATE VIEW 就报错了.
    2008-03-03
  • MySQL里面的子查询实例

    MySQL里面的子查询实例

    最近学习php+mysql执行操作,发现了这一篇实例代码
    2008-04-04
  • MySQL中的redo log和undo log日志详解

    MySQL中的redo log和undo log日志详解

    MySQL日志系统中最重要的日志为重做日志redo log和归档日志bin log,后者为MySQL Server层的日志,前者为InnoDB存储引擎层的日志。今天通过本文给大家介绍MySQL中的redo log和undo log日志,感兴趣的朋友一起看看吧
    2021-07-07

最新评论