SQL44 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005

描述

将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错

CREATE TABLE titles_test (
   id int(11) not null primary key,
   emp_no  int(11) NOT NULL,
   title  varchar(50) NOT NULL,
   from_date  date NOT NULL,
   to_date  date DEFAULT NULL);

insert into titles_test values
('1', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('2', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('3', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('4', '10004', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('6', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('7', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01');

后台会执行下面SQL语句得到结果,对比输出:

select * from titles_test where id=5;

/*
题目:SQL44 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
*/
-- 方法一:使用replace
update table titles_test
set 
emp_no = replace(emp_no,10001,10005)
where id=5
;

-- 方法二:使用insert 
insert into titles_test
values(5,10005,'Senior Engineer', '1986-06-26', '9999-01-01')
on duplicate key update emp_no = 10005

-- 方法三: 使用replace into 
replace into titles_test
values(5, 10005 ,'Senior Engineer', '1986-06-26', '9999-01-01')

表名 表标题(沐数) 字段序号 字段名称 字段标题(沐数) e_customer 客户信息表 1 CUSTOMID 客户ID e_customer 客户信息表 2 CUSTOMNAME 客户姓名 e_customer 客户信息表 3 COUNTRY 国家 e_customer 客户信息表 4 IS_DELETED 数据删除标签 e_emp 员工信息表 1 emp_id 员工编号 e_emp 员工信息表 2 company 公司简称 e_emp 员工信息表 3 name 人员姓名 e_emp 员工信息表 4 gender 性别 e_emp 员工信息表 5 birth_date 出生日期 e_emp 员工信息表 6 ethnic 民族 e_emp 员工信息表 7 service_years 工龄 e_emp 员工信息表 8 education 学历 e_emp 员工信息表 9 qualification 职业资格 e_emp 员工信息表 10 function 岗位职能 e_emp 员工信息表 11 talent_type 骨干类型 e_emp 员工信息表 12 position 岗位类别 e_emp 员工信息表 13 major 专业类别 e_emp 员工信息表 14 status 在岗状态 e_emp_changes 员工变动信息表 1 emp_id 员工ID e_emp_changes 员工变动信息表 2 emp_code 员工编号 e_emp_changes 员工变动信息表 3 change_reason 变动原因 e_emp_changes 员工变动信息表 4 employment_type 劳动关系类别 e_emp_changes 员工变动信息表 5 year 年度 e_emp_changes 员工变动信息表 6 month 月度 e_emp_changes 员工变动信息表 7 type 类型 e_emp_changes 员工变动信息表 8 is_deleted 删除标签 e_emp_training 员工培训记录 1 class_no 课程编号 e_emp_training 员工培训记录 2 emp_id 员工编号 e_emp_training 员工培训记录 3 course 课程名称 e_emp_training 员工培训记录 4 grade 成绩 e_emp_training 员工培训记录 5 created_at 考核时间 e_order 订单表 1 ORDERID 订单编号 e_order 订单表 2 ZTIME 下单时间 e_order 订单表 3 PRODUCTID 产品编号 e_order 订单表 4 SALE_AMOUNT 销售数量 e_order 订单表 5 CUSTOMID 客户编号 e_product 产品信息表 1 PRODUCTID 产品编号 e_product 产品信息表 2 PRODUCTNAME 产品名称 e_product 产品信息表 3 PRICE 【实操题】在岗状态: NULL 在岗; -1 离职; -2 已作废; 查询累计到每个年度的离职人数 结果输出:年度、当年离职人数、累计离职人数
最新发布
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值