首页 > 试题广场 >

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

[编程题]将id=5以及emp_no=10001的行数据替换成id=5
  • 热度指数:101174 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现。
CREATE TABLE IF NOT EXISTS 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');
示例1

输入

drop table if exists titles_test;
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');

输出

5|10005|Senior Engineer|1986-06-26|9999-01-01
头像 mlpan
发表于 2021-05-07 09:08:29
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005 已知id为5的该条数据为: ('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),所以,可以有以下几种方式: 1、使用replace UPD 展开全文
头像 牛客275421946号
发表于 2020-09-24 09:10:33
本题考查的是replace函数,其中包含三个参数,第一个参数为该字段的名称,第二参数为该字段的需要被修改值,第三个参数为该字段修改后的值。update titles_testset emp_no = replace(emp_no,10001,10005)where id = 5
头像 高质量搬砖人
发表于 2021-01-31 09:55:17
方法) 使用replace实现,直接使用update会报错 UPDATE titles_test SET emp_no = REPLACE(emp_no, 10001, 10005) WHERE  展开全文
头像 Joneln
发表于 2021-09-29 17:22:44
UPDATE titles_test SET emp_no = REPLACE(emp_no, 10001, 10005) WHERE id = 5; 也是第一次听说这个语句。 注意两点: 1.直接使用replace()需要列出所有列的值,否则系统会自动填充默认值,或者报错。 2.replace( 展开全文
头像 破做题家
发表于 2021-04-20 22:32:39
REPLACE函数: REPLACE(string, from_str, to_str)解释:从string中找到from_str子串替换为to_str子串,返回替换后的string。 题解 UPDATE titles_test SET emp_no = REPLACE(emp_no, 10001, 展开全文
头像 Ding_123
发表于 2021-12-03 09:55:37
知识点 replace into 表名 (字段名,……) values(字段值,……) replace into 首先尝试插入数据到表中 (1)如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 (2) 否则,直接插入新数据。 replace(X,Y,Z) 展开全文
头像 jiang_dr
发表于 2021-10-22 09:41:07
思路:主要考察 REPLACE 用法 方法一:全字段替换,replace 是功能是:表内有相同数据则替换,没有则添加 REPLACE INTO 当遇到 primary key 或 unique key 的时候,会首先进行 update REPLACE INTO titles_test VALUES 展开全文
头像 秋天的震撼已经感受到了😅😅😅
发表于 2023-11-20 11:29:50
replace into titles_test(id,emp_no,title,from_date,to_date) values ('5', '10005', 'Senior Engineer', '1986-06-26', '9999-01-01')
头像 超超i7宝
发表于 2020-11-24 23:42:28
一道关于UPDATE 与 Replace 使用方法的题: UPDATE titles_testSET emp_no = replace(emp_no, 10001, 10005)WHERE id = 5AND emp_no = 10001
头像 数据流动DataFlow
发表于 2023-03-14 08:57:11
方法一:思路:①第一反应是:replace(要替换的值,替换前的数据,替换后的数据),由此得出方法一,但是这个语句在Mysql中不能实现。代码: update titles_test set emp_no = replace(emp_no,10001,10005) where id = 5; 方法二 展开全文