Hi @Nick Loman:
There is not one command, but several. Be care though to back up your database before running this because there’s a tiny chance something in your database differs from mine, especially after a .1 upgrade beyond 3.0 and thus it may not work perfectly and you’ll have to restore.
DELETE FROM wp_usermeta WHERE user_id IN (
SELECT user_id FROM wp_comments WHERE user_id<>0 AND comment_approved='spam'
) AND user_id NOT IN (
SELECT DISTINCT user_id FROM wp_comments
);
DELETE FROM wp_users WHERE ID IN (
SELECT user_id FROM wp_comments WHERE user_id<>0 AND comment_approved='spam'
) AND ID NOT IN (
SELECT DISTINCT user_id FROM wp_comments
);
DELETE FROM wp_commentmeta WHERE comment_id IN (
SELECT comment_ID FROM wp_comments WHERE comment_approved='spam'
);
DELETE FROM wp_comments WHERE comment_approved='spam';