Mysql 蠕虫复制(查询的结果数据插入某个表中)

所谓儒虫复制,就是针对一个表的数据,进行快速的复制并插入到所需要的表中,以期在短时间内具备“大量数据”,以用于测试或其他特殊场合,比如:

  • 将一个表的数据迁移到另外一个表的,或者迁移一部分指定数据到另外一个表。

  • 将一个表的大量数据,复制到另一个表中;

  • 将一个表的数据复制到本身表中以产生大量数据;

将 test 表中的 name age 数据查询出来并插入到 user 表中
insert into user (name, age) select name,age from test;

也可以查出自身数据插入到自身表中,这样可以快速产生大量的测试数据
insert into user (name, age) select name,age from user;

要求:
  1、插入语句的字段个数,跟 select 语句的字段个数相等。
  2、插入语句的字段类型,跟 select 语句的字段类型相同。
  3、表之间的字段名可以不相同,只要满足以上两点就行了。

测试数据,将 test 表的数据迁移到 user 表中:

mysql> desc test;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type                | Null | Key | Default | Extra          |
+-------+---------------------+------+-----+---------+----------------+
| id    | int(11)             | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20)         | YES  |     | NULL    |                |
| sex   | varchar(1)          | YES  |     | NULL    |                |
| age   | tinyint(3) unsigned | YES  |     | NULL    |                |
+-------+---------------------+------+-----+---------+----------------+

mysql> desc user;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type                | Null | Key | Default | Extra          |
+-------+---------------------+------+-----+---------+----------------+
| id    | int(11)             | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20)         | YES  |     | NULL    |                |
| age   | tinyint(3) unsigned | YES  |     | NULL    |                |
+-------+---------------------+------+-----+---------+----------------+

mysql> select * from test;
+----+-------+------+------+
| id | name  | sex  | age  |
+----+-------+------+------+
|  1 | name1 | 男   |    5 |
|  2 | name2 | 女   |   10 |
|  3 | name3 | 男   |   15 |
|  4 | name4 | 男   |   20 |
+----+-------+------+------+

mysql> select * from user;
Empty set (0.00 sec)

mysql> insert into user (name, age) select name, age from test;
Query OK, 4 rows affected (0.00 sec)

mysql> select * from user;
+----+-------+------+
| id | name  | age  |
+----+-------+------+
|  1 | name1 |    5 |
|  2 | name2 |   10 |
|  3 | name3 |   15 |
|  4 | name4 |   20 |
+----+-------+------+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值