mysql多表增改

本文介绍了如何在MySQL中实现多表数据的插入和更新操作。重点讲解了当某个字段存在时如何避免重复插入的SQL语句,并给出了具体的示例,强调了在不同结构表之间插入数据时,字段数量和对应关系的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql实现向多个表同时插入数据

insert into table1 values(数据)
insert into table2 values(数据)
insert into table3 values(数据)
一起提交就是多个表同时添加

mysql将一个表的数据更新到另外一个表,如果某个字段已经存在将不插入的sql

update 表名1  别名1  
left join ( select 字段1,字段2  from 表名2 ) 别名2 
on 别名.字段=表名1.字段 
set 表名1.字段1= 表名2.字段1,  表名1.字段2= 表名2.字段2

举个栗子:

UPDATE USER t1
LEFT JOIN (
 SELECT
  user_id,
  min(date_time) date_time
 FROM
  ctoc_tb
 GROUP BY
  user_id
) t2 ON t2.user_id = t1.user_id
SET t1.date_time = t2.date_time

mysql将一个表的数据插入到另外一个表,如果某个字段已经存在将不插入的sql
注意:
如何把一个表的查询结果插入到另一张表中(两个表的结构不同), 插入的字段个数和查询的字段个数必须一致,查询表2的字段和插入表1的字段必须一致

insert into 表名1(字段1,字段2,字段3...) select 字段1,字段2,字段3.. from 表名2 where ..

举个栗子:

insert into A(id,names) select id,firstName from B;  这样mysql执行是不行的

改进后:

insert into A(id,names) select id,firstName as names from B;   这样mysql执行是可行的

实例子sql语句
需求: mysql将一个表的数据插入到另外一个表,如果某个字段已经存在将不插入的sql

INSERT INTO city (ip, country, province, city) 
SELECT DISTINCT (remote_ip) ip,
 '' country,
 '' province,
 '' city
FROM
 ctoc
WHERE NOT EXISTS(
SELECT
   ip
  FROM
   city_tb
  WHERE
   city.ip = ctoc.remote_ip
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值