14.2 MySQL:高级数据新增(蠕虫复制)

14.2 MySQL:高级数据新增(蠕虫复制)

蠕虫复制

蠕虫复制:从已有的数据中去获取数据,然后将数据进行新增操作;数据成倍的增加

表创建高级操作:从已有表创建新表(复制表结构)



介绍
1、蠕虫复制将现有表中的复制数据直接插入另一个表(同一个表)
2、蠕虫复制的目标是快速增加表中的数据,实现表中的数据复制(用于数据备份或迁移),指数级增加(多用于测试)
语法
蠕虫复制的步骤为:先查出数据,然后将查出的数据新增一遍。
基本语法:insert into + 表名 + [(字段列表)] + select + 字段列表/* + from + 表名;
需要注意,两个表复制时要保证数据结构相同。



Create table 表名 like 数据库.表名;

1.png

 蠕虫复制:先查出数据,然后将查出的数据新增一遍,

 Insert into 表名[(字段列表)] select 字段列表/*from 数据表名;

1.png

蠕虫复制的意义

1.从已有表拷贝数据到新表中

 2.可以迅速的让表中的数据膨胀到一定的数量级:测试表的压力以及效率



根据已有表创建新表,即复制表结构,其基本语法为:
create table + 表名 + like + [数据库名.]表名;


图片.png

如上图所示,表my_copy和表my_gbk的表结构完成相同。
蠕虫复制的步骤为:先查出数据,然后将查出的数据新增一遍。
基本语法:insert into + 表名 + [(字段列表)] + select + 字段列表/* + from + 表名;
执行如上 SQL 语句,进行测试:

-- 蠕虫复制
insert into my_copy select * from my_collate_bin;

图片.png

如上图所示,咱们已经成功将表my_collate_bin中的数据复制到表my_copy中啦!接下来,咱们再执行如下 SQL 语句,测试蠕虫复制的效果:
-- 蠕虫复制
insert into my_copy select * from my_copy;

图片.png

如上图所示,通过观察每次执行 SQL 语句后影响的列数,分别为4、8和16等,咱们会发现蠕虫复制的效果呈(指数)爆炸性增长。
蠕虫复制的意义:
从已有的数据表中拷贝数据到新的数据表;
可以迅速的让表中的数据膨胀到一定的数量级,多用于测试表的压力及效率。
温馨提示:符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。


把cjh_A表的数据复制到cjh_B表中

mysql> insert into cjh_B select * from cjh_A;

复制前:

图片.png

图片.png

复制:

mysql> insert into cjh_B select * from cjh_A;

复制后:

图片.png

A表再添加一条数据:

图片.png

再进行复制时,报错了,如下:

mysql> insert into cjh_B select * from cjh_A;
1062 - Duplicate entry '82' for key 'PRIMARY'


图片.png

可以去重处理。

解决:insert into cjh_B select * from cjh_A where not exists (select * from cjh_B  where cjh_B.id = cjh_A.id);



MySQL(列表、list、全)mysqllist
http://www.zh-cjh.com/wenzhangguilei/2503.html
文章归类、所有文章列表、LISTLIST
http://www.zh-cjh.com/wangzhangonggao/2195.html

1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » 14.2 MySQL:高级数据新增(蠕虫复制)

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!