MySQL acepta nombres que pueden consistir en un solo
identificador o múltiples identificadores. Los componentes de
un nombre múltiple deben separarse con un punto
('.
'). Las partes iniciales de un
identificador múltiple actúan como calificadores que afectan
el contexto en el cual se interpreta la parte final.
En MySQL es posible referirse a una columna empleando cualquiera de las siguientes formas:
Referencia de columna | Significado |
col_name |
La columna col_name de cualquier tabla
empleada en la consulta que contenga una columna con ese
nombre |
tbl_name.col_name |
La columna col_name de la tabla
tbl_name en la base de datos
predeterminada. |
db_name.tbl_name.col_name |
La columna col_name en la tabla
tbl_name en la base de datos
db_name . |
Si cualquier componente de un nombre múltiple requiere
delimitarlo, hay que hacerlo individualmente en lugar de
delimitar el nombre como un todo. Por ejemplo,
`mi-tabla`.`mi-columna`
es legal, pero
`mi-tabla.mi-columna`
no lo es.
No es necesario especificar un prefijo de
nombre_tabla
o
nombre_bd.nombre_tabla
para
referenciar una columna en una sentencia a menos que la
referencia sea ambigua. Supóngase el caso de las tablas
t1
y t2
cada una
conteniendo una columna c
, donde se recupera
c
en una sentencia SELECT
que emplea ambas tablas t1
y
t2
. En este caso, c
es
ambiguo porque no es único entre las tablas utilizadas en la
sentencia. Se lo debe calificar con un nombre de tabla como
t1.c
o t2.c
para indicar a
cuál tabla se refiere la consulta. Del mismo modo, para
recuperar desde una tabla t
en la base de
datos db1
y desde la tabla
t
en la base de datos db2
en la misma sentencia, hay que referirse a las columnas en
aquellas tablas como db1.t.col_name
y
db2.t.col_name
.
Una palabra a continuación de un punto en un nombre calificado debe ser un identificador, por lo que no es necesario delimitarlo, aun si es una palabra reservada.
La sintaxis .tbl_name
hace referencia
a la tabla tbl_name
en la base de
datos actual. Esta sintaxis se acepta por compatibilidad con
ODBC, ya que algunos programas ODBC anteceden los nombres de
tabla con un carácter '.
'.
É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.