De forma predeterminada, cuando se conecta al shell de la línea de comandos de SQLite y ejecuta una consulta, el resultado se devuelve como una lista separada por conductos.
Es posible que haya notado que los resultados no incluyen los nombres de las columnas, lo que puede hacer que sus resultados sean confusos si intenta leerlos, especialmente si la consulta devolvió muchas columnas.
Afortunadamente, hay una manera fácil de formatear la salida para que se muestre como una columna con encabezados de columna.
La salida predeterminada
Como ejemplo, así es como la interfaz de línea de comandos de SQLite genera los resultados de la consulta de forma predeterminada:
SELECT * FROM Products;
Resultado:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Por lo tanto, no hay encabezados de columna y se muestra como una lista separada por barras.
Agregar encabezados de columna
Para agregar los nombres de columna a cada columna, use .headers on
.
.headers on
SELECT * FROM Products;
Resultado:
ProductId|ProductName|Price 1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Puede deshabilitar los encabezados usando .headers off
.
Dar formato a los resultados como una columna
También puede usar la columna .mode column
para formatear los resultados como una columna.
.mode column
SELECT * FROM Products;
Resultado:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 P 374.2 4 Blue Widget 63.0
Si necesita devolverlo al formato predeterminado, puede usar .mode list
.
Cambiar ancho de columna
Puede notar que en el ejemplo anterior, uno de los nombres de productos se ha truncado. Esto se debe a que es más ancho que el ancho de la columna.
De forma predeterminada, cada columna tiene entre 1 y 10 caracteres de ancho, según el nombre del encabezado de la columna y el ancho de la primera columna de datos. Los datos que son demasiado anchos para caber en una columna se truncan.
Sin embargo, puede usar .width
comando de punto para establecer las columnas a un ancho específico.
Así es como podemos corregir el ejemplo anterior para que el tercer producto no se trunque.
.width 0 16 0
SELECT * FROM Products;
Resultado:
ProductId ProductName Price ---------- ---------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 Pack 374.2 4 Blue Widget 63.0
Quizás se pregunte por qué configuré la primera y la tercera columna en cero.
Usando un valor de 0
en realidad hace que la columna se ajuste automáticamente (hasta cierto punto). Especificando 0
establece la columna al mayor de tres números; 10, el ancho del encabezado y el ancho de la primera fila de datos.
En mi caso, esto funciona bien para la primera y la tercera columna, pero no para la segunda columna. Por lo tanto, configuré esa columna en 16
(que es la cantidad de caracteres que usa el tercer producto).
Restablecer valores predeterminados
Si necesita restablecer brevemente la salida para usar el valor predeterminado de SQLite (es decir, una lista separada por conductos sin encabezados de columna), simplemente puede abrir una nueva ventana de terminal y ejecutar sus comandos desde allí. SQLite utilizará su configuración predeterminada en este caso.
O si desea restablecer la ventana de terminal actual para usar la configuración predeterminada, siempre puede usar lo siguiente:
.headers off
.mode list
.separator "|"
En este caso, agregué el .separator
comando de punto, en caso de que haya cambiado previamente el separador.
En caso de que te lo estés preguntando, sí, puedes usar .separator ", "
para mostrar los resultados como una lista separada por comas.
Conservar la configuración de la columna
Como se mencionó, cada vez que abre una nueva ventana de terminal para conectarse a SQLite, las consultas volverán al formato predeterminado de SQLite (lista separada por barras).
Para evitar tener que volver a ingresar los comandos anteriores cada vez que se conecta a SQLite, puede ingresarlos en un .sqliterc
expediente.
Por ejemplo, abra un archivo de texto en blanco e ingrese lo siguiente:
.mode column
.headers on
Guarde el archivo como .sqliterc
al directorio de inicio del usuario, y SQLite lo usará cada vez que se conecte.
Por ejemplo, si el directorio de inicio del usuario es /Users/bart , entonces lo colocaría dentro de ese directorio, para que esté ubicado en /Users/bart/.sqliterc .
Este es un archivo oculto, por lo que es posible que reciba varias indicaciones que le pidan que confirme, etc., según su sistema. Simplemente acepte las indicaciones hasta que se guarde en el directorio de inicio del usuario.