MySQL Naming Rules
Almost every SQL statement refers in some way to a database or its constituent elements. This section describes the syntax rules for referring to databases, tables, columns, indexes, and aliases. Names are subject to case sensitivity considerations, which are described as well.
Referring to Elements of Databases
When you use names to refer to elements of databases, you are constrained by the characters you can use and the length that names can be. The form of names also depends on the context in which you use them:
Legal characters in names. Names may consist of any alphanumeric characters in the character set used by the server, plus the characters '_' and '$'. Names may start with any character that is legal in a name, ...