10 motivos para usar o SQuirreL SQL

  • 26

10 motivos para usar o SQuirreL SQL

10 Flares Twitter 1 Facebook 9 Filament.io 10 Flares ×

Hoje em dia dá muita pena de um consultor do mercado que não conhece as ferramentas que o mercado oferece, recentemente fui entrevistado pelo projeto KDE (que eu ajudo) para falar um pouco sobre esse assunto.

Com certeza quem não trabalha com banco de dados é minoria, se você como eu pertence à maioria, não saia de casa sem o esquilo!


Desenvolvido desde 2001 o SQuirreL SQL é a melhor ferramenta que você pode usar no seu trabalho, necessitando de poucos ajustes para funcionar pra valer.
Comece fazendo o download do JAR no site oficial (não baixe o ZIP, que contém menos recursos), e continue lendo!

Separei as principais vantagens sobre ele:

  1. É open source – além de gratuito, o código fonte é totalmente aberto, o que facilita o seu crescimen,, to com a ajuda da comunidade criando novas melhorias e estendendo suas funcionalidades com plugins.
  2. É multiplataforma – como ele é feito em Java, roda praticamente em qualquer plataforma existente.
  3. Suporta mais de 20 bancos de dados – usando um driver JDBC ele suporta diversos bancos, entre eles eu uso mais os drivers do Oracle, MySQL, PostgreSQL, DB2 e SQL Server

    Clique na opção Drivers, depois MySQL e selecione a opção para modificar o driver.

    Em seguida clique na aba Extra Class Path, clique em Add e selecione o arquivo jar do JDBC do MySQL (exemplo: mysql-connector-java-5.1.5-bin.jar). Depois de selecionado o arquivo, clique em List Drivers e selecione uma opção do combo Class Name.

    Felizmente só precisamos criar o driver uma vez, agora vamos criar uma conexão clicando no + :

    Informe os dados do banco, e selecione a opção Auto Logon e clique em Ok para salvar.

  4. Tem interface em português – não é qualquer ferramenta que oferece o nosso idioma, para isso basta alterar o Locale nas Preferências Globais dentro da aba Geral.

    Nem tudo está traduzido, mas já é um começo.

  5. Possui auto-complete de tabelas e colunas – hoje se a ferramenta não tem auto-complete, você demora para montar os seus comandos SQL no mínimo o dobro do tempo.
    Vejam um exemplo listando as tabelas existentes:

    E outro sugerindo o nome das colunas de uma tabela:

  6. Facilmente altera tabelas – lembrar a sintaxe de remover ou aumentar o tamanho uma coluna nem sempre é trivial, ainda mais quando existem diferentes tipos de banco e cada um com sua sintaxe. Felizmente existe aqui o plugin chamado Refactoring que conforme o tipo de banco de dados, oferece um assistente que facilmente podemos manipular a estrutura de nossas tabelas.
    No exemplo abaixo, adicionaremos uma coluna para armazenar a sigla do país da tabela ESTADO:

    Depois é possível ver o comando SQL que o assistente gerou para alterar a tabela:

  7. Copia tabelas para diferentes bancos – com o plugin DB Copy podemos facilmente copiar tabelas (estrutura + registros) , suas chaves primárias e estrangeiras, até se quisermos também gravar um script dessa cópia completa.

    No exemplo vamos copiar duas tabelas da conexão com o MySQL para outra conexão com o Oracle.
    Com as duas sessões abertas, selecionamos as tabelas que desejamos copiar e clicamos com o botão esquerdo do mouse:

    Depois, na base do Oracle selecionamos a opção Paste Table:

    Durante a cópia, é exibida uma janela para acompanhar o processo:

  8. Gerar diagrama das tabelas – exibe facilmente um diagrama de suas tabelas, basta selecionar as tabelas que precisa:

    Depois é só acessar a nova aba criada para visualizar o seu diagrama completo:

  9. Gera facilmente scripts SQL – gerar scripts de tabelas é algo que todo desenvolvedor precisa, e fazer isso aqui é muito fácil , conseguimos gerar scripts para a estrutura da tabela, com todos os dados da tabela, ou um simples rascunho de um INSERT.

    No exemplo abaixo, vamos gerar o script da tabela ESTADO, selecionando a opção Generate Table Script:

    Com isso o SQL é gerado na aba conforme a imagem abaixo:

    Para gerar os dados dessa tabela, basta selecionar a opção Generate Data Script:

  10. Roda HQL! – o grande diferencial dessa ferramenta é para quem trabalha com Hibernate poder executar seus HQL direto na ferramenta.

    A configuração é um pouco complicada, vou ilustrar aqui os passos, mas se não conseguirem podem colocar as dúvidas nos comentários .

    Cada projeto Java terá uma configuração gravada na ferramenta, pois tanto um projeto que use JPA quanto outro que use somente Hibernate terão configurações distintas. No exemplo vamos mostrar um projeto com apenas Hibernate.

    Para criar uma configuração, acesse pelo menu File – Global Preferences as configurações globais, e a aba Hibernate. Depois informe o nome da configuração e clique onde está indicado abaixo para adicionar duas coisas: a primeira é o diretório de onde está o hibernate.cfg.xml ( não adicione o arquivo, adicione o diretório) , a segunda é adicionar todas as bibliotecas usadas no seu projeto (aquelas que estão no \WEB-INF\lib\ por exemplo).

    Se você tem um projeto com Hibernate e MySQL, eu separei para download um pacote com as bibliotecas necessárias, faltando apenas o JAR com suas classes Entity do Hibernate.

    Em seguida precisamos informar de que maneira a fábrica de sessões será disponibilizada: chamando o Hibernate direto (nessa opção não funciona Annotations, as classes precisam estar mapeados nos arquivos .hbm), especificando o nome do persistence unit (JPA) ou mostrando a classe de sua aplicação que tem o método public SessionFactoryImpl getSessionFactoryImpl() .

    O projeto do exemplo usa Hibernate com Annotations , portanto precisamos especificar qual classe tem o método de fábrica, que no meu caso é br.org.cruzada.core.util.HibernateUtil.

    Depois na aba do Hibernate, selecione a configuração criada e clique no ícone da tomada. Se a conexão der certo, o ícone muda e aparecem os objetos mapeados conforme imagem abaixo:

    Digite o HQL que quiser (tem auto-complete!) e clique no botão HQL to SQL para gerar o SQL com os resultados:

Existem outras vantagens do SQL SQuirreL, mas essas são as minhas preferidas, tem outros plugins que não mencionei aqui, além de outros não oficiais.

Uma última dica: se você acessa tabelas muito grandes e gera SQLs com milhares de linhas, é interessante saber que o padrão definido nos arquivos (squirrel-sql.bat no Windows e squirrel-sql.sh no Linux) é de 256 megabytes de memória. Se desejar aumentar esse valor, é só alterar o valor padrão e reiniciar a ferramenta.

Boa sorte nos SQLs!

Fernando Boaglio, para a comunidade. =)


About Author

Fernando Boaglio

???

  • Parabéns, Boaglio!

    O post ficou bem didático! A ferramenta é excelente.

    Abraços…

  • O Boaglio pode demorar a postar , mas sempre é um post de qualidade…

    Uso bastante o squirrel e recomendo, com este post então as desculpas acabaram pra quem não usa.

    Great Job !

  • André Bellato

    Grande Boaglio.

    Por curiosidade ao squirrel acabei caindo nessa página.
    Ficou muito legal o procedimento passo a passo.

    Abs

  • Gostei do post e da ferramenta e resolvi fazer o download, porém, estou com incompatibilidade com o JDK do Java! Alguém teve algum problema parecido?

  • Rlresende

    Da para você dar umas dicas sobre como configurar em um projeto utilizando jpa?

  • @Mário provavelmente você tem uma versão do Java antiga na sua máquina (se você por exemplo tem o Oracle Client instalado, isso acontece) , instale a última versão existente e siga os passos de instalação que estão nesse site.

    @Rlresende não tem muito mistério, é só informar o nome do persistence unit na configuração.

  • Jessica

    Nossa muito boas essas dicas sobre o squirrel, comecei a trabalhar agora com ele, porque usam no meu estagio e eu usava o workbench e Mysql, agora to aprendendo a mecher no squirrele achei muito bom esse tutorial tá de parabéns.

  • Sidney

    Muito bom o tutorial, explica com clareza da forma mais simples possível. Parabéns

  • Leandro

    Gostaria de saber se é possível extrair o script de uma base de dados, limpar o banco e depois inserir tudo novamente.

  • @Leandro não conheço uma maneira de forma automática, talvez exista um plugin pra isso. Uma alternativa é criar um schema novo e copiar todas as tabelas do schema antigo para o novo usando o DB Copy (passo 7).

  • Alexandre Penchel

    Olá Boaglio,

    Gostaria de saber se é possivel utilizar o Squirrel SQL para criar um database novo?? Algum plugin??
    Procurei essa opção no aplicativo,e no google, mas não encontrei nada.

    Parabéns pelo post.

  • @AlexandrePenchel isso é uma opção particular de cada banco de dados. No MySQL você cria um banco de dados com uma linha de comando facilmente e já sai usando , com o Oracle não é bem assim. Na instalação do Squirrel escolha o plugin do banco de dados que vai utilizar e depois verifique se existe essa opção. Eu não testei todos os bancos de dados, mas nunca vi essa opção em nenhum plugin que usei.

  • Alexandre Penchel

    Ok Boaglio, obrigado pela resposta.
    Cheguei a ver um vídeo usando MySQL, fazendo isto. Foi o que me levou a crer que com o PostgreSQL seria igual, mas não consegui de jeito nenhum. De qualquer forma valeu pela ajuda.

  • Jorge Loss Chaves

    Realmente, o tutorial está muito bom.

    Eu instalei o squirrel sql na minha maquina essa semana, porém não consigo visualizar triggers e funções que eu criei na base de dados. A base que eu utilizo é o SyBase. Driver jtds, última versão.

  • Pingback: Database tools, DBeaver and Squirrel « Jaehoo Weblog()

  • Que loucura parabens pelo site muito legal seu conteudo me ajudou e tirou algumas duvidas sobre java valeu .

  • Olá, poderia explicar como alterar a quantidade do valor padrão da memoria que o Squirrel aloca?

  • @Nathan é a mesma coisa que qualquer programa em Java desktop, basta alterar os parâmetros Java do arquivo que chama o Squirrel SQL (squirrel-sql.bat e squirrel-sql.sh) . Nas versões mais novas vem com o parâmetro “-Xmx256m”, troque para o valor que preferir.

  • Dalton

    Olá Boaglio.
    Essa configuração para trabalhar com HQL foi feita utilizando arquivo .jar.
    No meu caso trabalho com fluent nhibernate gerando dll. Teria como configurar o Squirrel utilizando dll no lugar de jar?
    Obrigado

  • @Dalton não sei se funciona

  • DENIS

    Você pode verificar Valentina Estúdio ferramenta gratuita, que eu acho que é muito superior a outras ferramentas da GUI
    http://www.valentina-db.com/en/valentina-studio-overview

  • Italo

    Parabéns pelo post. Excelente explicação, somente no seu site encontrei explicando desta maneira. E sobre a ferramenta, é excelente, perfeita!

  • Sergio

    belo Post !
    Instalei o Squirrel no Ubuntu e o único drive que consta ativo é o o JDBC.
    Não estou conseguindo me conectar ao Oracle, vc tem alguma dica ?

    Grato

  • Mateus

    Meus parabéns pelo post. Está bastante detalhado. Já uso a ferramenta a alguns anos e conhecia todos recursos que você citou, exceto a configuração de tamanho de memória. Obrigado.

  • Gustavo

    Gostaria de saber se tem como setar um schema defaut para as consultas. No meu banco tenho vários schemas mas uso somente um e ter q incluí-lo a cada consulta atrapalha bastante.

  • @Gustavo não conheço nenhuma opção para escolher o schema padrão, acho que seria mais fácil você configurar uma conexão de banco direto no schema desejado

Quero saber mais sobre…

Inscreva-se para receber as novidades!

Arquivos

10 Flares Twitter 1 Facebook 9 Filament.io 10 Flares ×