Anuncios

Bienvenidos sean a este post, hoy veremos como se puede visualizar las columnas de una tabla.

Anuncios

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];
Anuncios
Nota: 
Los valores entre corchetes son opcionales 
Anuncios

Pasemos a ver primero como seria la forma mas basica de utilizarlo:

show columns from base1.tabla1;
Anuncios

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)]>
Anuncios

La forma equivalente de trabajar con este comando es:

show columns from tabla1 from base1;
Anuncios

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;
Anuncios

Esto nos mostrara todo los detalles de las columnas de nuestra tabla, veamos la siguiente imagen

Anuncios

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

Anuncios

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)]>
Anuncios

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%';
Anuncios

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)]>
Anuncios

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%';
Anuncios

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)]>
Anuncios

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.

Anuncios

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.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50