power of assigning only EXECUTE privilege

mysql By revoking all PRIVILEGES except EXECUTE you restrict access to your data only through the tighter control offered by Stored Procedures. The EXECUTE privilege can be assigned at the global or database level.

REVOKE ALL PRIVILEGES ON `test` . * FROM 'demouser'@'localhost';

GRANT EXECUTE ON `test` . * TO 'demouser'@'localhost';  

demonstrate with:
-------1. CALL test.sp_get_balances -------2. SELECT * FROM test.account_balance;
demo link