See dev.mysql.com/doc/refman/5.0/en/grant.html for all the details and options.
Less frequently used ones are ommitted here

Grant priv_type [column_list] [, priv_type [column_list]] ...
   on [object_type] {tbl_name | * | *.* | db_name.*}
   to user
   [Identified by [password] password] [, user [Identified by [password] password]] ...
   [with with_option [with_option] ...]

priv_types
ALL
Select Insert Update Delete
Create Drop Alter Index Lock_tables
File
Create_tmp_table
Create_view Show_view
Create_routine Alter_routine Execute
Show_db
Grant Create_user
Reload Shutdown Process Super

object_types
table function procedure

with_options
Grant options
Max_Queries_per_hour count Max_updates_per_hour count Max_Connections_per_Hour count
Max_user_connections count

show grants for user ;

Grant enables system administrators (or users who have thegrant privilege) to create MySQL user accounts and to grant rights to/from accounts. Revoke removes account privileges. See Help Revoke.

Privileges are granted at several levels:

max_questions | max_updates | max_connections | max_user_connections

select host, user, select_priv sel, insert_priv ins, update_priv upd, delete_priv del, create_priv cre, drop_priv drp, grant_priv G, reload_priv R, shutdown_priv S, create_view_priv cv, show_view_priv sv from mysql.user;