MySQL新增数据的几种方式

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;
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值