sql >> Base de Datos >  >> RDS >> SQLite

Dar formato a los resultados de la consulta de SQLite como una lista separada por comas

SQLite tiene varios modos y configuraciones que le permiten generar resultados de consultas como una lista separada por comas.

Por ejemplo, puede usar el .separator comando punto para especificar una coma como separador. O puede usar el modo "comillas" para formatear la salida como literales de cadena.

Sin embargo, para los propósitos de este artículo, usaré csv modo, que formatea los resultados como una lista separada por comas, así como con comillas dobles alrededor de las cadenas. Las comillas dobles internas están entre comillas dobles.

Ejemplo

En este ejemplo, cambio a csv modo, luego seleccione los datos de la base de datos.

.mode csv
SELECT * FROM Products;

Resultado:

1,"Widget Holder",139.5
2,"Widget Opener",89.7
3,"Bob's ""Best"" Widget",374.2
4,"Blue Widget",63.0

Tenga en cuenta que las comillas dobles internas estaban entre comillas dobles, pero las comillas simples internas no.

Si desea ver esto en comparación con el modo predeterminado de SQLite (lista separada por conductos), aquí está usando ese modo.

.mode list
SELECT * FROM Products;

Resultado:

1|Widget Holder|139.5
2|Widget Opener|89.7
3|Bob's "Best" Widget|374.2
4|Blue Widget|63.0

Agregar encabezados de columna

También puede agregar encabezados de columna (nombres de columna) usando .headers on .

.headers on
.mode csv
SELECT * FROM Products;

Resultado:

ProductId,ProductName,Price
1,"Widget Holder",139.5
2,"Widget Opener",89.7
3,"Bob's ""Best"" Widget",374.2
4,"Blue Widget",63.0

Si desea eliminar encabezados, puede usar .headers off .

Guarde su configuración

Establecer el modo de esta manera solo lo establece para la sesión actual. Si abre una nueva conexión a SQLite, volverá a la configuración predeterminada.

Si desea que su configuración persista, para no tener que seguir cambiando el modo cada vez que se conecta a SQLite, puede almacenar su configuración en un .sqliterc archivo.

Para hacer esto, ingrese lo siguiente en un archivo de texto en blanco:

.headers on
.mode csv

Luego guárdelo como .sqliterc en su directorio de inicio.

Ahora, cuando use el shell de línea de comandos de SQLite, primero verificará su .sqliterc archivo para cualquier configuración.

El GROUP_CONCAT() Función

Alternativamente, puede usar el Group_Concat() función para convertir los resultados de la consulta en una lista separada por comas desde dentro de una consulta SQL.