¿Qué tal si no se recuerda el nombre de una base de datos o una tabla, o cómo es su estructura (por ejemplo, nombres de columnas)? MySQL aborda este problema a través de varias sentencias que proveen información acerca de las bases de datos y tablas que soporta.
Ya se ha visto SHOW DATABASES
, la cual informa
las bases de datos gestionadas por el servidor. Para conocer la
base de datos actualmente seleccionada, se utiliza la funcion
DATABASE()
:
mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | menagerie | +------------+
Si aún no se hubiese seleccionado ninguna base de datos, el
resultado sería NULL
.
Para conocer las tablas contenidas en la base de datos actual (por ejemplo, si no se está seguro del nombre de una tabla) se usa el siguiente comando:
mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | event | | pet | +---------------------+
Si lo que se desea es ver la estructura de una tabla, el comando
DESCRIBE
es útil; muestra información acerca
de cada columna de la tabla:
mysql> DESCRIBE pet; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+
Field
contiene el nombre de la columna,
Type
es el tipo de dato,
NULL
señala si la columna puede contener
valores NULL
, Key
indica si
la columna está indexada, y Default
informa el
valor por defecto de la columna.
Si una tabla tiene índices, SHOW INDEX FROM
tbl_name
muestra información
sobre ellos.