SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Formatar os resultados da consulta SQLite como uma lista separada por vírgulas


O SQLite tem vários modos e configurações que permitem a saída dos resultados da consulta como uma lista separada por vírgulas.

Por exemplo, você pode usar o .separator comando ponto para especificar uma vírgula como separador. Ou você pode usar o modo “quote” para formatar a saída como literais de string.

No entanto, para os propósitos deste artigo, usarei csv mode, que formata os resultados como uma lista separada por vírgulas, bem como com aspas duplas em torno de strings. Aspas duplas internas são aspas duplas.

Exemplo


Neste exemplo, mudo para csv modo, em seguida, selecione os dados do banco de dados.
.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

Observe que as aspas duplas internas foram aspas duplas, mas as aspas simples internas não.

Se você quiser ver isso comparado ao modo padrão do SQLite (lista separada por pipes), aqui está usando esse 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

Adicionar cabeçalhos de coluna


Você também pode adicionar cabeçalhos de coluna (nomes de coluna) 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

Se você quiser remover os cabeçalhos, você pode usar .headers off .

Salve suas configurações


Definir o modo como este apenas o define para a sessão atual. Se você abrir uma nova conexão com o SQLite, ela voltará às configurações padrão.

Se você quiser que suas configurações persistam, para que você não precise ficar alterando o modo toda vez que se conectar ao SQLite, você pode armazenar suas configurações em um .sqlliterc Arquivo.

Para fazer isso, digite o seguinte em um arquivo de texto em branco:
.headers on
.mode csv

Em seguida, salve-o como .sqliterc em seu diretório inicial.

Agora, quando você usa o shell de linha de comando SQLite, ele primeiro verifica seu .sqliterc arquivo para qualquer configuração.

O GROUP_CONCAT() Função


Você também pode usar o Group_Concat() função para converter os resultados da consulta em uma lista separada por vírgulas de dentro da própria consulta SQL.