If you are looking to replace a string made of 4 lines, one thing you need to be careful about is line breaks. For example in your query you have additional spaces at the beginning of lines 2, 3 and 4, that probably will not match.
Depending on your set up, line breaks could be \r\n or \n.
UPDATE `wp_posts` SET `post_content` = REPLACE( post_content, '<tr>\n<td></td>\n<td></td>\n</tr>', '' )
If you are looking to replace 4 different strings, then you could either run the updates one by one, or generate a 4-level deedp nested REPLACE(). Here are examples for two string parts :
UPDATE `wp_posts` SET `post_content` = REPLACE(post_content, '<tr>', ''); UPDATE `wp_posts` SET `post_content` = REPLACE(post_content, '<td></td>', '');
Or :
UPDATE `wp_posts` SET `post_content` = REPLACE( REPLACE( post_content, '<td></td>', '' ), '<tr>', '' ) ;
\\ninstead of newlines in replace