You have wrong parameter the replace format in this case is not set columnname = replace(columnname,'you','u')
but replace(columnname,'u','you')
and you should also check for word boundaries .. ' u '
and you could use also like
update table
set columnname = replace(columnname,' u ',' you ')
where columnname like '% u %' ;
but if you have several cases the you should manage each case properly eg for ' u '
and ' u,'
update table
set columnname = case when columnname like '% u %'
then replace(columnname,' u ',' you ')
when columnname like '% u,%'
then replace(columnname,' u,',' you,')
end
where columnname like '% u %'
OR columnname like '% u,%' ;
If you have mysql 8 you could use regexp_replace
update table
set columnname = REGEXP_REPLACE(columnname,'[[:<:]]u[[:>:]]','you')
where columnname regexp '[[:<:]]u[[:>:]]';
..
select REGEXP_REPLACE('test u tesp','[[:<:]]u[[:>:]]','you')
from dual
where 'test u tesp' regexp '[[:<:]]u[[:>:]]';