The mysql documentation says that a col_name can contain - alphanumeric characters, as well as the underscore and dollar sign characters ('_' , '$').
You cannot use reserved words - it will allow you with some reserved words but it causes chaos when working with the data.
A col_name must not consist solely of digits (0-9) as the name becomes indistinguishable from a number.
Hope this helps 😉