Unless you are using an interface that allows multiple statements, you are safe from that subset of injection attacks, no? For example, the PHP mysql() interface and the default mysqli() interface does not allow multiple statements, so it would seem queries with a semicolon injected would simply fail.
Of course, using “OR SLEEP()” could still cause you trouble…
Also one defense Janos does not mention is to always make sure the MySQL user has no higher permissions than necessary. Little Bobby Tables could not cause such havoc unless the MySQL user running the query had DROP permission — which it seems would be very rare a need. 99% of database access will only need SELECT permission, and 99% of the remaining 1% should not need DROP permission!
Remember, MySQL “users” are really roles, not actual user logins.