Если надо пересчитать разово, то
UPDATE `users`
LEFT JOIN (
SELECT `user_id_from`, COUNT(*) AS `count` FROM `messages` GROUP BY `user_id_from`
) AS `from` ON `from`.`user_id_from` = `users`.`user_id`
LEFT JOIN (
SELECT `user_id_to`, COUNT(*) AS `count` FROM `messages` GROUP BY `user_id_to`
) AS `to` ON `to`.`user_id_to` = `users`.`user_id`
SET `users`.`sended` = IFNULL(`from`.`count`, 0),
`users`.`received` = IFNULL(`to`.`count`, 0)
В дальнейшем поддерживать через триггер, как написал
Максим Федоров.