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