mysql查询一个表的数据插入另一个表

1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:
 
     INSERT INTO 目标表 SELECT * FROM 来源表;
 
     例如: insert into t_a  select * from t_b ;
 
2.如果只希望导入指定字段,可以用这种方法:
 
  INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;(相对应字段的类型必须保持一致)
 
     例如:insert into t_a  ( name, age ) select name, age from t_b where age > 10;
 或模糊匹配位数加一位 like '%310115132_%';

3.如果您需要只导入目标表中不存在的记录,可以使用这种方法:
  
  INSERT INTO 目标(字段1,字段2.....) SELECT 字段1,字段2...... FROM 来源表 WHERE NOT EXISTS ( SELECT * FROM 目标表 WHERE 目标表.字段 = 来源表.字段);
 
例如:insert into t_a (name) select name from t_b where not exists (select *  from t_a where t_a.name = t_b.name);
 

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 INSERT INTO SELECT 语句将一个查询出来的数据插入到另一个中。具体的语法如下: INSERT INTO 名 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 原名 WHERE 条件; 其中,名和原名分别指代目标和源,字段1、字段2...分别指代目标中需要插入的字段,而字段1、字段2...则是从源中需要插入的字段。在这个语句中,还可以加入 WHERE 条件限制插入数据。 举个例子,假设有两个一个是 user_info ,另一个是 user_bak 。如果想要将 user_info 中年龄大于 20 岁的用户信息插入到 user_bak 中,可以使用以下语句: INSERT INTO user_bak (user_id, user_name, user_age) SELECT user_id, user_name, user_age FROM user_info WHERE user_age > 20; 这样,user_info 中年龄大于 20 岁的用户信息就被插入到了 user_bak 中。 ### 回答2: MySQL 提供了 INSERT INTO SELECT 语句来将查询出来的数据插入一个。 语法如下: INSERT INTO 名 (列名1, 列名2, 列名3, ...) SELECT 列名1, 列名2, 列名3, ... FROM 查询语句 例如,现在有一个名为 table1 的,它有三列:column1, column2 和 column3。另外还有一个名为 table2 的,它的结构和 table1 相同。 我们想要将 table1 中的数据插入 table2 中,可以使用以下 SQL 语句: INSERT INTO table2 (column1, column2, column3) SELECT column1, column2, column3 FROM table1 通过以上语句,我们可以将 table1 中的 column1, column2 和 column3 的数据插入到 table2 中。 需要注意的是,被插入的列和被选择的列需要一一对应,而且数据类型也需要兼容。 这样,通过使用 INSERT INTO SELECT 语句,我们可以方便地将查询出来的数据插入到另一个中。 ### 回答3: 要将MySQL查询出来的数据插入一个,可以使用INSERT INTO语句来实现。 首先,需要编写一个查询语句,通过SELECT语句从源中检索出需要的数据。例如,假设要将数据A插入B中,查询语句可以是: SELECT * FROM A; 然后,使用INSERT INTO语句将查询出来的数据插入到目标B中,语法如下: INSERT INTO B(column1, column2, column3,...) SELECT column1, column2, column3,... FROM A; 在上述语法中,column1, column2, column3是目标B中要插入数据的列名,与SELECT子句中选择的列相对应。 可以根据需要选择是否插入所有列,或只选择特定的列进行插入。 最后,执行上述INSERT INTO语句,将查询出来的数据插入到目标B中。 需要注意的是,目标B的列名和数据类型必须与查询结果的列名和数据类型相匹配,否则可能会出现错误或数据插入异常。同时,插入数据需满足目标B的约束条件,否则可能也会产生错误。 以上是将MySQL查询出来的数据插入一个的方法,希望对您有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值