I haven't read all the replies, but a few points:
1) These things happen. Developers should be careful, but nevertheless mistakes will happen no matter what you do. If your backup plan failed, then blame the backup plan.
My strategy for preventing mistakes is to always write the where clause first. I then first write the select to verify the data before I write the delete/update. I also wrap all of my SQL statements between a conditional that's never true, so if I hit F5 (for SQL Server) I don't actually execute a batch. But again, this relies on individual discipline.
2) Singling a person out in an email is extremely unprofessional. Even if you don't refer to the person by name, they will know and so will others (not hard to figure it out).
3) You don't go to your boss with such petty mistakes. You should resolve the issues yourself, that's why you're the "boss" (personally, I hate that term as much as I do employee; they're your team and you're their leader... help them do their jobs effectively).
That's all I have. Empower them to do their jobs well, put procedures in place for when they don't and have fail-safe measures for when the inevitable happens.