Is there a way to clear the cache without dropping tables?
As Kevin correctly points out in the comments, the cache clear is issuing a TRUNCATE command rather than DROP, but TRUNCATE does require the DROP permission.

If you look at the manual installation method in the install guide, you'll see that DROP is one of the permissions that is granted as part of the setup process:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';


That's followed shortly after by:


  Note: Unless the database user/host combination for your Drupal installation has all of the privileges listed above (except possibly CREATE TEMPORARY TABLES, which is currently only used by Drupal core automated tests and some contributed modules), you will not be able to install or run Drupal.


So DROP is simply a required permission for Drupal to work.