Well, it was said straightforward before, but I'll offer a little of my advice. SQL isn't standarized across databases, so if by wanting use "multiple times" you mean with multiple databases, then Perl is one way to go. Though, to standardize SQL, check out OBDC (DBD::, or Win32::). It was said already, but its important enough to repeat: use Perl if there's going to be many logical steps involved with a small to moderate sized database; otherwise SQL is your friend--well actually, a combination of the two is useful, as well.
Back to my point, DBD::OBDC and Win32::OBDC do a decent job of making SQL coding across databases seamless(something DBI didn't bother to even try). Though, it doesn't bar you from using the special SQL the database provides. SO, if you are going to be doing a lot of SQL and you want to be able to take it accroos databases, check out those modules.