Nomes de banco de dados, tabela, índice, coluna e apelidos seguem todos as mesmas regras no MySQL.
        Note que as regras foram alteradas a partir do MySQL versão
        3.23.6, quando introduzimos aspas em identificadores (nomes
        banco de dados, tabela e coluna) com
        ‘`’.
        ‘"’ funcionará também para
        citar identificadores se você executar no modo ANSI. See
        Secção 1.8.2, “Executando o MySQL no modo ANSI”.
      
| Identificador | Tamanho máximo (bytes) | Caracteres permitidos | 
| Banco de dados | 64 | Qualquer caractere que é permitido em um nome de diretório exceto
                ‘ /’ ou
                ‘.’. | 
| Tabela | 64 | Qualquer caractere permitido em um nome de arquivo, exceto
                ‘ /’ ou
                ‘.’. | 
| Coluna | 64 | Todos os caracteres. | 
| Alias | 255 | Todos os caracteres. | 
Note que em adição ao mostrado acima, você não pode ter ASCII(0) ou ASCII(255) ou o caracter de citação (aspas) em um identificador.
        Se o identificador é uma palavra restrita ou contêm caracteres
        especiais você deve sempre colocá-lo entre
        ` ao usá-lo:
      
mysql> SELECT * FROM `select` WHERE `select`.id > 100;
See Secção 6.1.7, “Tratamento de Palavras Reservadas no MySQL”.
        Se você estiver executando o MySQL no modo
        MAXDB ou ANSI_QUOTES, ele
        também pode citar identificadores com aspas duplas:
      
mysql>CREATE TABLE "test" (col INT);ERROR 1064: You have an error in your SQL syntax. (...) mysql>SET SQL_MODE="ANSI_QUOTES";mysql>CREATE TABLE "test" (col INT);Query OK, 0 rows affected (0.00 sec)
        See Secção 4.1.1, “Opções de Linha de Comando do mysqld”.
      
Em versões do MySQL anteriores a 3.23.6, as regras se nomes eram as seguintes:
            Um nome pode consistir de caracteres alfanuméricos do
            conjunto atual de caractres e também
            ‘_’ e
            ‘$’. O conjunto de caracteres
            padrão é o ISO-8859-1 Latin1; e pode ser alterado com a
            opção --default-character-set no
            mysqld. See
            Secção 4.7.1, “O Conjunto de Caracteres Utilizado para Dados e Ordenação”.
          
Um nome pode iniciar com qualquer caractere que é legal no nome. Em particular, pode iniciar com um número (isto difere de vários outros sistemas de bancos de dados!). Entretanto um nome não pode consistir somente de números.
            O caractere ‘.’ não pode ser
            utilizado em nomes porque ele é usado para extender o
            formato pelo qual você pode fazer referências a colunas
            (veja abaixo).
          
        É recomendado que você não utilize nomes como
        1e, porque uma expressão como
        1e+1 é ambígua. Ela pode ser interpretada
        como a expressão 1e + 1 ou como o número
        1e+1.
      
No MySQL você pode se referir a uma coluna utilizando uma das formas seguintes:
| Coluna de referência | Significado | 
| nome_campo | Coluna nome_campode qualquer tabela usada na
                consulta contendo uma coluna com aquele nome. | 
| nome_tabela.nome_campo | Coluna nome_campoda tabelanome_tabelado banco de dados atual. | 
| nome_bd.nome_tabela.nome_campo | Coluna nome_campoda tabelanome_tabelado banco de dadosnome_bd. Esta forma é disponível no
                MySQL Versão 3.22 ou posterior. | 
| `nome_coluna` | Uma coluna que é uma palavra chave ou contem caracteres especiais. | 
        Você não precisa especificar um prefixo de
        nome_tabela ou
        nome_bd.nome_tabela para uma referência de
        coluna em uma instrução, a menos que a referência seja
        ambígua. Por exemplo, suponha que cada tabela
        t1 e t2 contenham uma
        coluna c, e você deve recuperar
        c em uma instrução
        SELECT que utiliza ambas tabelas
        t1 e t2. Neste caso,
        c é ambíguo porque ele não é único entre
        as tabelas usadas na instrução, portanto deve ser indicado
        qual é a tabela que se deseja escrever, t1.c
        ou t2.c. De mesma forma, se você for
        recuperar de uma tabela t em um banco de
        dados db1 e uma tabela t
        em um banco de dados db2, você deve se
        refererir às colunas nestas tabelas como
        db1.t.nome_campo e
        db2.t.nome_campo.
      
        A sintaxe .nome_tabela indica a tabela
        nome_tabela no banco de dados atual. Esta
        sintaxe é aceitada para compatibilidade ODBC, porque alguns
        programas ODBC prefixam os nomes das tabelas com um caracter
        ‘.’.
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

