14.2 MySQL:高级数据新增(蠕虫复制)
14.2 MySQL:高级数据新增(蠕虫复制)
蠕虫复制
蠕虫复制:从已有的数据中去获取数据,然后将数据进行新增操作;数据成倍的增加
表创建高级操作:从已有表创建新表(复制表结构)
介绍
1、蠕虫复制将现有表中的复制数据直接插入另一个表(同一个表)
2、蠕虫复制的目标是快速增加表中的数据,实现表中的数据复制(用于数据备份或迁移),指数级增加(多用于测试)
语法
蠕虫复制的步骤为:先查出数据,然后将查出的数据新增一遍。
基本语法:insert into + 表名 + [(字段列表)] + select + 字段列表/* + from + 表名;
需要注意,两个表复制时要保证数据结构相同。
Create table 表名 like 数据库.表名;
蠕虫复制:先查出数据,然后将查出的数据新增一遍,
Insert into 表名[(字段列表)] select 字段列表/*from 数据表名;
蠕虫复制的意义
1.从已有表拷贝数据到新表中
2.可以迅速的让表中的数据膨胀到一定的数量级:测试表的压力以及效率
根据已有表创建新表,即复制表结构,其基本语法为:
create table + 表名 + like + [数据库名.]表名;
如上图所示,表my_copy和表my_gbk的表结构完成相同。
蠕虫复制的步骤为:先查出数据,然后将查出的数据新增一遍。
基本语法:insert into + 表名 + [(字段列表)] + select + 字段列表/* + from + 表名;
执行如上 SQL 语句,进行测试:
-- 蠕虫复制
insert into my_copy select * from my_collate_bin;
如上图所示,咱们已经成功将表my_collate_bin中的数据复制到表my_copy中啦!接下来,咱们再执行如下 SQL 语句,测试蠕虫复制的效果:
-- 蠕虫复制
insert into my_copy select * from my_copy;
如上图所示,通过观察每次执行 SQL 语句后影响的列数,分别为4、8和16等,咱们会发现蠕虫复制的效果呈(指数)爆炸性增长。
蠕虫复制的意义:
从已有的数据表中拷贝数据到新的数据表;
可以迅速的让表中的数据膨胀到一定的数量级,多用于测试表的压力及效率。
温馨提示:符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。
把cjh_A表的数据复制到cjh_B表中
mysql> insert into cjh_B select * from cjh_A;
复制前:
复制:
mysql> insert into cjh_B select * from cjh_A;
复制后:
A表再添加一条数据:
再进行复制时,报错了,如下:
mysql> insert into cjh_B select * from cjh_A;
1062 - Duplicate entry '82' for key 'PRIMARY'
可以去重处理。
解决: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
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » 14.2 MySQL:高级数据新增(蠕虫复制)
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm