Bienvenidos sean a este post, hoy veremos como se puede visualizar las columnas de una tabla.
Este comando es ideal para cuando tenemos alguna duda sobre como se llaman o cuantas columnas posee una tabla, tambien nos brindara otra informacion que nos puede resultar de utilidad, primero veamos su sintaxis:
SHOW [FULL] {COLUMNS | FIELDS} FROM nombreTabla [FROM nombreBase]
[LIKE 'patron' | WHERE expresion];
Nota: Los valores entre corchetes son opcionales
Pasemos a ver primero como seria la forma mas basica de utilizarlo:
show columns from base1.tabla1;
Esta forma de usarlo nos evita tener que usar el comando USE previamente para conectarnos a una base y el orden siempre es primero la base seguido de la tabla, con esto comentado vemos como solamente le pedimos que nos muestre las columnas de la tabla en cuestion, veamos como es su salida:
MariaDB [(none)]> show columns from base1.tabla1;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nombre | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
1 row in set (0.005 sec)
MariaDB [(none)]>
La forma equivalente de trabajar con este comando es:
show columns from tabla1 from base1;
En lugar de usar el punto utilizamos el from opcional para especificar la base, puede ser mas engorroso pero es mas practico para su visualizacion, veamos el siguiente ejemplo:
show full fields from tabla3 from base1;
Esto nos mostrara todo los detalles de las columnas de nuestra tabla, veamos la siguiente imagen

Se los muestro de esta forma porque de lo contrario queda completamente ilegible debido a toda la informacion que devuelve pero la mas curiosa de todas las columnas creo que es la siguiente

Donde podemos ver los privilegios de cada una de las columnas, vamos a comparar esta mismas tabla sin la expresion full para ver la diferencia en la salida:
MariaDB [(none)]> show fields from tabla3 from base1;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(20) | NO | PRI | NULL | auto_increment |
| nombre | varchar(20) | NO | | NULL | |
| apellido | varchar(20) | NO | | NULL | |
| edad | int(3) | YES | | (9 + 9) | |
| ciudad | varchar(20) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
5 rows in set (0.006 sec)
MariaDB [(none)]>
No solo es mas escueta sino que tambien es muy basica pero en general esta es la opcion que mas usaran donde podemos ver cuales pueden ser nulos o no, cual es la clave primaria y cual es su valor predeterminado, en caso de haber establecido alguno, asi como el tipo de dato que almacena y el tamaño, pasemos a lo ultimo:
show fields from base1.tabla3 like '%id%';
En este ejemplo usamos otra vez el patron con un like para que muestre unicamente las columnas que poseen a «id» en su nombre, esto es gracias a que pusimos el comodin % adelante y detras, si lo ejecutamos veremos la siguiente salida:
MariaDB [(none)]> show fields from base1.tabla3 like '%id%';
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(20) | NO | PRI | NULL | auto_increment |
| apellido | varchar(20) | NO | | NULL | |
+----------+-------------+------+-----+---------+----------------+
2 rows in set (0.008 sec)
MariaDB [(none)]>
Esta es una manera muy simple de como obtener unicamente los campos que necesitamos ver, veamos como trabajar con el WHERE:
show fields from base1.tabla3 where `Type` like '%char%';
En este caso le decimos que nos devuelva todas las columnas donde el tipo de la misma (Type) contenga a char en su descripcion, si lo ejecutamos veremos la siguiente salida:
MariaDB [(none)]> show fields from base1.tabla3 where `Type` like '%char%';
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nombre | varchar(20) | NO | | NULL | |
| apellido | varchar(20) | NO | | NULL | |
| ciudad | varchar(20) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.004 sec)
MariaDB [(none)]>
Como pueden observar pudimos discriminar a todos los campos que no sean de tipo char, en este caso nos resulto mas util que el anterior porque la expresion no se limita unicamente al nombre de la columna sino que podemos filtrar por medio de otros los elementos de la columna, recuerden una cosa: para que funcione deben usar la comilla que ven en el ejemplo de lo contrario no les traera nada.
En resumen, hoy hemos visto como mostrar las columnas, como es, para que nos sirve, como nos puede facilitar algunas tareas, como podemos ver toda la informacion de una tabla, asi como tambien podemos filtrar de una forma basica o mas compleja, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
