Consultas SQL pelo Terminal no Postgres, Mysql, SQL Server, etc

Que tal ter a possibilidade de realizar, rapidamente, uma consulta no seu banco de dados sem precisar abrir um software cliente? E que tal fazer isso via terminal? Nesse artigo veremos como construir uma solução simples para isso, com o uso do PHP.

[ Hits: 28.823 ]

Por: Raimundo Alves Portela em 12/07/2012 | Blog: http://portelanet.com


Introdução



No meu dia a dia, e de muitos que possam está lendo este artigo, tenho que fazer diversas consultar em tabelas, às vezes dispostas em Sistemas Gerenciadores de Banco de Dados (SGBD) diferentes. Para este tipo de situação, o Eclipse SQL Explorer funciona muito bem, mas muitas vezes, são consultas simples e abrir este software ou qualquer outro para fazer a consulta pode ser desnecessário...

Então pensei em fazer algo simples, porém útil, um script em PHP que faça a consulta e apresente na saída padrão ( no terminal ).

Poderia ter sido usado qualquer outra linguagem de programação, usei o PHP por sua conexão com diferentes SGBD ser bem fácil e no momento estou mais familiarizado com sua sintaxe.

Preparando o Ambiente

Caso não tenha o PHP instalado ainda:

sudo apt-get install php5

Para este artigo, preparei o ambiente para realizar consultar no Postgres, MySQL e MS SQL Server.

Instale os módulos necessários para o PHP realizar a conexão:

sudo apt-get install php5-pgsql php5-mysql php5-sybase

Obs.: O php5-sybase é um módulo usado tanto para o Sybase como para o MS SQL Server.

Com a ajuda de um terminal embutido, como Guake, você nem vai precisar ir até um terminal usando o menu, basta usar o atalho configurado.

Ao final desse artigo teremos a possibilidade de fazer algo como:
Linux: Consultar SQL pelo terminal

Linux: Consultar SQL pelo terminal


    Próxima página

Páginas do artigo
   1. Introdução
   2. Mão na massa ( O script PHP )
Outros artigos deste autor

Enviar e-mail pelo terminal com mutt

Aplicativos para gerenciar a Área de Transferência (Clipboard)

Otimizando o uso do seu disco rígido usando a mesma /home para várias distribuições

StarDict - software de tradução de ótima qualidade!

Explorando a entrada de dados com READ em Bash Shell

Leitura recomendada

Desenvolvimento de uma interface WEB com PHP para gerenciamento de banco de dados CouchDB

Relato de experiência: contribuição para tradução de um artigo da Wikipédia

Iniciando com o SQLite

Instalando Interbase 2007 Developer em Linux OpenSuSE 10.2

Apache Cassandra NoSQL, uma tecnologia emergente

  
Comentários
[1] Comentário enviado por rony_souza em 12/07/2012 - 17:51h

Dica muito boa mesmo :D

[2] Comentário enviado por rai3mb em 12/07/2012 - 21:49h

Obrigado, engraçado que já faz quase um ano que uso isso no meu dia a dia e só agora sentei pra escrever esse "rápido" artigo.

[3] Comentário enviado por removido em 13/07/2012 - 08:25h

pode-se usar o shell direto para fazer a consulta.


$> echo " select * from users;" | mysql -u fulano -psicrano -h naquelelugar

O resultado é o mesmo, mais rápido direto e sem perda de tempo.




[4] Comentário enviado por rai3mb em 13/07/2012 - 10:58h

@mufui, sei disso, mas pra isso ai vc vai precisar de um cliente pra cada SGBD instalado, consome mais recursos e de forma desnecessária se o objetivo for só consultas.
Sabe fazer com SQL Server por exemplo?

[5] Comentário enviado por cesar em 13/07/2012 - 12:02h

Muito bom Raimundo, nunca fiz consultas desta forma.

[]'s

[6] Comentário enviado por rai3mb em 13/07/2012 - 12:09h

Obrigado @cesar, como falei tem como usar os respectivos cliente do mysql ou postgres, mas ai vc precisar ter eles instalados na sua máquina, e vai um comando pra cada banco de dados, sem contar com os bancos de dados que ainda não tem cliente para GNU/Linux.

Então com esse método, pasta ter a extensão de conexão com o SGBD para o PHP.
Abraços

[7] Comentário enviado por danniel-lara em 14/07/2012 - 11:21h

muito bom Rai3mb
eu estou sando direto shell script
para brincar com banco de dados
muito legal mesmo

[8] Comentário enviado por foguinho.peruca em 18/07/2012 - 21:55h

Olá!

Gostei da dica. Realmente se encaixa na minha necessidade. A maioria das vezes eu preciso virtualizar um Windows somente para acessar uma base MS SQL Server. Vou usar bastante esse script..

;)

Jeff

[9] Comentário enviado por rai3mb em 18/07/2012 - 22:51h

Obrigado, também tenho que usar muito o SQL SERVER devido vários sistemas legados usarem ele onde trabalho, e também acesso muito o postgres, dai esse script se encaixa perfeitamente, pois fica fácil fazer as consultas pelo terminal e exportar o resultado conforme a necessidade.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts