Estou tentando recuperar uma lista de colunas em uma tabela. O banco de dados é a versão mais recente do SQLite (3.6, acredito). Estou procurando um código que faça isso com uma consulta SQL. Pontos de bônus extras para metadados relacionados às colunas (por exemplo, comprimento, tipo de dados, etc ...)
reflection
sqlite
list
AngryHacker
fonte
fonte
select * from
?Esta é a maneira mais simples:
fonte
A pergunta é antiga, mas o seguinte ainda não foi mencionado.
Outra maneira conveniente em muitos casos é ativar os cabeçalhos:
Então,
exibirá um título mostrando todos os campos selecionados (todos se você SELECIONAR *) no topo da saída.
fonte
LIMIT 5
. Não se esqueça do;
no final.basta entrar em seu shell sqlite:
e então basta apertar
e você terá tudo.
fonte
Aqui está uma instrução SELECT que lista todas as tabelas e colunas no banco de dados atual:
fonte
ORDER BY
paratableName, p.cid
.Esta é uma consulta que lista todas as tabelas com suas colunas e todos os metadados que pude obter sobre cada coluna conforme solicitado pelo OP (como pontos de bônus).
Obrigado a @David Garoutte por me mostrar como
pragma_table_info
trabalhar em uma consulta.Execute esta consulta para ver todos os metadados da tabela:
fonte
Com base no acima exposto, você pode fazer tudo de uma vez:
Isso lhe dará o SQL para criar a tabela, que é efetivamente uma lista das colunas.
fonte
Eu sei, já faz muito tempo, mas nunca é tarde ... Tive uma pergunta semelhante com o TCL como intérprete e depois de várias pesquisas, não encontrei nada de bom para mim. Então, proponho algo baseado no PRAGMA, sabendo que seu DB é “principal”
E o array usa para obter uma lista
fonte