3.4 Obtención de información sobre bases de datos y tablas
¿Qué ocurre si olvida el nombre de una base de datos o de una tabla, o cuál es la estructura de una tabla determinada (por ejemplo, cómo se llaman sus columnas)? MySQL aborda este problema a través de varias sentencias que proporcionan información sobre las bases de datos y tablas que soporta.
Has visto anteriormente SHOW DATABASES
, que enumera las bases de datos gestionadas por el servidor. Para saber qué base de datos está actualmente seleccionada, utiliza la función DATABASE()
:
mysql> SELECT DATABASE();+------------+| DATABASE() |+------------+| menagerie |+------------+
Si aún no ha seleccionado ninguna base de datos, el resultado es NULL
.
Para saber qué tablas contiene la base de datos por defecto (por ejemplo, cuando no está seguro del nombre de una tabla), utilice esta sentencia:
mysql> SHOW TABLES;+---------------------+| Tables_in_menagerie |+---------------------+| event || pet |+---------------------+
El nombre de la columna en la salida producida por esta sentencia es siempre Tables_in_
, donde db_name
db_name
es el nombre de la base de datos. Consulte el apartado 13.7.7.39, «Declaración SHOW TABLES», para obtener más información.
Si quiere conocer la estructura de una tabla, la sentencia DESCRIBE
es útil; muestra información sobre cada una de las columnas de una 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
indica el nombre de la columna, Type
es el tipo de datos de la columna, NULL
indica si la columna puede contener valores NULL
Key
indica si la columna está indexada, y Default
especifica el valor por defecto de la columna. Extra
muestra información especial sobre las columnas: Si una columna se creó con la opción AUTO_INCREMENT
, el valor es auto_increment
en lugar de estar vacío.
DESC
es una forma abreviada de DESCRIBE
. Consulte la sección 13.8.1, «Declaración DESCRIBE», para obtener más información.
Puede obtener la sentencia CREATE TABLE
necesaria para crear una tabla existente utilizando la sentencia SHOW CREATE TABLE
. Consulte la sección 13.7.7.10, «Declaración SHOW CREATE TABLE».
Si tiene índices en una tabla, SHOW INDEX FROM
produce información sobre ellos. Consulte la sección 13.7.7.22, «Sentencia SHOW INDEX», para obtener más información sobre esta sentencia.tbl_name