[+/-]
Los nombres de bases de datos, tablas, índices, columnas y alias son identificadores. Esta sección describe la sintaxis permitida para los identificadores de MySQL.
La siguiente tabla describe la longitud máxima y los caracteres permitidos para cada tipo de identificador.
| Identificador | Longitud máxima (en bytes) | Caracteres permitidos | 
| Base de datos | 64 | Cualquier carácter permitido en un nombre de directorio, excepto
              ' /', '\', o
              '.' | 
| Tabla | 64 | Cualquier carácter permitido en un nombre de fichero, excepto
              ' /', '\', o
              '.' | 
| Columna | 64 | Todos los caracteres | 
| Índice | 64 | Todos los caracteres | 
| Alias | 255 | Todos los caracteres | 
Adicionalmente a las restricciones detalladas en la tabla, ningún identificador puede contener un carácter ASCII 0 o un byte con un valor de 255. Los nombres de bases de datos, tablas y columnas no deberían terminar con caracteres de espacio. MySQL 5.0 permite el uso de comillas en identificadores, aunque es mejor evitarlos tanto como sea posible.
      En MySQL 5.0, los identificadores se almacenan empleando Unicode
      (UTF8). Esto se aplica a identificadores en las definiciones de
      tabla que se almacenan en ficheros .frm y a
      identificadores almacenados en las tablas de permisos en la base
      de datos mysql. El tamaño de las columnas de
      tipo cadena en las tablas de permisos (y en cualquier otra tabla)
      de MySQL 5.0 equivale al número de caracteres, esto significa que
      (al contrario que en algunas versiones anteriores de MySQL) se
      pueden utilizar caracteres multibyte sin reducir el número de
      caracteres permitidos para los valores almacenados en estas
      columnas.
    
      Un identificador puede estar encerrado entre comillas o no. Si un
      identificador es una palabra reservada o contiene caracteres
      especiales, se debe encerrar entre comillas
      cada vez que se haga referencia a él. Para una lista de palabras
      reservadas, consulte Sección 9.6, “Tratamiento de palabras reservadas en MySQL”. Los
      caracteres especiales son aquellos que están fuera del grupo de
      caracteres alfanuméricos del conjunto de caracteres en uso, de
      '_', y de '$'.
    
      El carácter de encomillado de identificador es el acento grave:
      ('`'):
    
mysql> SELECT * FROM `select` WHERE `select`.id > 100;
      Si el modo de servidor SQL incluye la opción
      ANSI_QUOTES, también está permitido delimitar
      los identificadores con comillas dobles:
    
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)
Consulte Sección 5.3.2, “El modo SQL del servidor”.
      En MySQL 5.0, los caracteres delimitadores de identificador pueden
      incluírse dentro del identificador si se delimita el
      identificador. Si el carácter que se incluirá dentro
      del identificador es el mismo que se utiliza para delimitarlo,
      habrá que colocarlo en forma doble. Las siguientes sentencias
      crean una tabla llamada a`b que contiene una
      columna llamada c"d:
    
mysql> CREATE TABLE `a``b` (`c"d` INT);
      Se recomienda que no se utilicen nombres con el esquema
      XeX1e o 2e2, porque
      una expresión como 1e+1 es ambigua. Podría
      interpretarse como la expresión 1e + 1 o como
      el número 1e+1, dependiendo del contexto.
    
      Hay que ser cuidadoso al utilizar MD5 para
      producir nombres de tablas, porque puede producir nombres ilegales
      como los listados anteriormente.
    
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

