MySql如何合并两张表

问题描述

MySql中有2张表,分别叫test1和test2表test1有N个属性(name;age等等),ID自增,从1-10000,有1万条记录表test2与表test1属性也一样,ID也自增,也从1-10000,也有1万条记录现在:我想将表test2的所有记录并到表test1去,即在test1表中有2万条记录,且原test2表的一万条记录,在test1表中从10001-20000结束。应该怎么办?

解决方案

类似这样create procedure merge_table()BEGIN select id,name into test3 from test2; insert into aa select id,name from test1; drop table test1; alter table test3 rename to test1;end;
解决方案二:
二楼提供的方法正解,直接把test2表的记录查询出来insert进test1表即可。
解决方案三:
一句话 insert into test1 (field1,field2,....) select (field1,field2,....) from test2;

时间: 2024-10-06 15:08:55

MySql如何合并两张表的相关文章

信息-mysql中有关两张表关联的查询语句

问题描述 mysql中有关两张表关联的查询语句 宝宝信息表中存的是已经接种过疫苗的信息,is_vaccined为1,另外一张表中,存的是所有疫苗的详细信息.现在,我想通过获取宝宝id来查询该宝宝所有的疫苗的状态(包括已经接种的和未接种的),改怎么写查询语句?? 解决方案 select t1.*, t2.* from t_baby_info t1 left outer join t_vaccine t2 on t1.vaccine_id= t2.vaccine_id 解决方案二: @caozhy

数据库SQL,将两张表合并为一张表

问题描述 数据库SQL,将两张表合并为一张表 将表table1.table2合并为表table3 table1: id name value 1 阅读 5 1 视频 7 1 游戏 7 2 阅读 1 2 游戏 3 table2 id name value 1 阅读 8 1 视频 9 1 游戏 2 2 阅读 11 3 视频 4 table3: id name value1 value2 1 阅读 5 8 1 视频 7 9 1 游戏 7 2 2 阅读 1 11 2 游戏 3 0 3 视频 0 4 解决

MySQL实现两张表数据的同步方法总结

有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发器: begin set @disable=1; if @disable=1 and NOT EXISTS(SELECT 1 FROM tableB where ID=new.ID) then   insert into tableB (ID,对应字段1) values(new.ID,new.对应字

MySQL 麻烦大家帮我看看下面的两张表如何创建?

问题描述 MySQL 麻烦大家帮我看看下面的两张表如何创建? CREATE TABLE store ( store_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, manager_staff_id TINYINT UNSIGNED NOT NULL, address_id SMALLINT UNSIGNED NOT NULL, last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDA

mysql 两张表关联查询问题

问题描述 mysql 两张表关联查询问题 现在有表A大概是百万级的数据,表B只有几千行,但是想在查询表A里剔除掉表B的数据,SELECT * FROM A WHERE NOT EXISTS (SELECT 1 FROM B WHERE B.id = A.id),这种写法效率很低,请问有没有其他的解决方法? 解决方案 这样写当然效率低,因为是笛卡尔积,要用join select a.*, b.* from a join b on a.id=b.id 解决方案二: 左外连left join 解决方案

mysql关于两张表查询的问题

问题描述 mysql关于两张表查询的问题 我现在有两张表 iislog ips_global 想根据iislog表查询出来的IP地址,得出对应的归属地,请问这语句该怎么写啊? 解决方案 如果没有关联,可以这么写 select g.ip_location, g.ip_isp from ips_global g left join iislog l on l.id=1 where g.ip_start<=l.client_ip and g.ip_end >= l.client_ip id是主键,可

sql-如何将数据库表的两张表进行合并查询

问题描述 如何将数据库表的两张表进行合并查询 有两张表,数据列均不一样,要将两张表的数据合并到一起,想应的sql怎么拼接呢?求大神解答,不胜感激! 解决方案 你想怎么合并? 如果是按照关系合并,可以这么写 select a.*, b.* from a join b on a.id = b.aid 如果是数据合并(假设两个表都有 相同列1 相同列2 两个字段),那么可以这样 select a.相同列1, a.相同列2 from a union select b.相同列1, b.相同列2 from

MySQL实现两张表数据的同步_Mysql

mysql通过触发器实现两个表的同步,需要了解的朋友可以看一下. 有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发器: begin set @disable=1; if @disable=1 and NOT EXISTS(SELECT 1 FROM tableB where ID=new.ID) then insert into tableB (

怎么比较mysql里不同的两张表的差异;还有mysql和postgres之间同表的差异比较?

问题描述 怎么比较mysql里不同的两张表的差异;还有mysql和postgres之间同表的差异比较? 怎么比较mysql里不同的两张表的差异;还有mysql和postgres之间同表的差异比较?有知道的希望能详细说明下,急需,谢谢 解决方案 以某个表作为主表,join另一个表,看看得到的数据全不全,然后再反过来,这样两次比较就可以得到差异了. 解决方案二: 可以把两张表分别导出到两个文件,然后diff比较文件.