1 两个表:全量新增
表A的数据全部添加到表B,重复的键进行更新,使用语句:DUPLICATE KEY UPDATE。
-- 表A数据插入到表B全量数据:重复的key更新
INSERT INTO `db_monkey_run`.`tb_sys_user_cp` (id, user_id, username, password, sex
, status, created_time, updated_time)
SELECT id, user_id, username, password, sex
, status, created_time, updated_time
FROM `db_monkey_run`.`tb_sys_user` s
ON DUPLICATE KEY UPDATE user_id = s.user_id, username = s.username, password = s.password, sex = s.sex, status = s.status
, created_time = s.created_time, updated_time = s.updated_time;
2 两个表:增量新增
表A的数据部分添加到表B,重复的键进行更新,使用语句:DUPLICATE KEY UPDATE,使用WHERE过滤数据,如有其他业务需求,使用其他语句。
-- 表A数据插入到表B增量数据:重复的key更新
INSERT INTO `db_monkey_run`.`tb_sys_user_cp` (id, user_id, username, password, sex
, status, created_time, updated_time)
SELECT id, user_id, username, password, sex
, status, created_time, updated_time
FROM `db_monkey_run`.`tb_sys_user` s
WHERE id IN (1, 2)
ON DUPLICATE KEY UPDATE user_id = s.user_id, username = s.username, password = s.password, sex = s.sex, status = s.status
, created_time = s.created_time, updated_time = s.updated_time;
3 单表批量新增:values方式
-- 插入数据:values方式
INSERT INTO db_monkey_run.tb_sys_user (id, user_id, username, password, sex
, status, created_time, updated_time)
VALUES (4, '0x004', 'xiaomi', '$2a$10$wF/g3y7LV7dt/6NJ4sKhEu5mO4V3XHHBYtL24bGCEVnsAUWakeVrC', 'male'
, 3, '2021-08-20 15:09:00', NULL),
(5, '0x004', 'xiaomi', '$2a$10$wF/g3y7LV7dt/6NJ4sKhEu5mO4V3XHHBYtL24bGCEVnsAUWakeVrC', 'male'
, 4, '2021-08-20 15:09:00', NULL);
3 单表单条新增:set方式
INSERT INTO db_monkey_run.tb_sys_user SET id=6, user_id='0x006', username="xiaoyi", password='$2a$10$wF/g3y7LV7dt/6NJ4sKhEu5mO4V3XHHBYtL24bGCEVnsAUWakeVrC',
sex='male'
, status=3, created_time='2021-08-20 15:09:00', updated_time=null;