实现字段合并
青山网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
首先建立关系(例如两个表中的id相同的1对1关系),然后建立一个生成表查询,之后把所有字段加入查询中,执行该查询,即可生成合并后的新表。
实现记录合并
两表结构要相同(至少有一个字段相同,如果一个都不同有什么意义呢),然后用追加查询,选好追加到的表,和追加字段,执行查询即可cbcs147希望help
you。reference51cto,365testing
MySQL InnoDB 表数据页或者二级索引页(简称数据页或者索引页)的合并与分裂对 InnoDB 表整体性能影响很大;数据页的这类操作越多,对 InnoDB 表数据写入的影响越大。
MySQL 提供了一个数据页合并临界值(MERGE_THRESHOLD),在某些场景下,可以人为介入,减少数据页的合并与分裂。
在 InnoDB 表里,每个数据页默认16K 大小,默认 MERGE_THRESHOLD 值为 50,取值范围从 1 到 50,默认值即是最大值。也就是当页面记录数占比小于 50% 时,MySQL 会把这页和相邻的页面进行合并,保证数据页的紧凑,避免太多浪费。
要将两表合并,必须要有相同的字段和字段数据,ID主键自动增加无疑是最好的选择。
所以,在两个表中,都应该有id主键自动增加的字段。
然后就是下面的sql语句执行了:
假设sdeg和zbug的表结构 都是
ID varchar(4) primary key,
Name varchar(8),
Dept varchar(10),
存储过程如下
CREATE PROCEDURE table_combine()
BEGIN
#第一步把sdeg和zbug两个表进行联合输出到临时表tmp_tab中
create temporary table tmp_tab select * from sdeg union select * from zbut;
#第二步创建结果表sdut,并创建主键
create table sdut(ID varchar(4) primary key, Name varchar(8),Dept varchar(10));
#第三步把临时表里面的重复数据过滤并写入sdut
INSERT INTO sdut(ID,Name,Dept) SELECT distinct ID,Name,Dept FROM tmp_tab;
#drop临时表
drop table tmp_tab;
END