Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Colando SQL na linha de comando do MySQL


Este é o padrão mysql (CLI) cada vez que o usuário pressiona a Tab chave (mysql usa a linha de leitura subjacente ou EditLine bibliotecas (não no Windows)).

Por padrão, quando o usuário solicita use um banco de dados, mysql lê as definições de tabelas e campos. Em seguida, pressionando a Tab chave faz mysql oferece convenientemente a conclusão da entrada atual com as tabelas e campos conhecidos.

No entanto, colando algum texto no mysql que contém caracteres TAB (\t ou 0x09 ) aciona o mesmo comportamento - mesmo que nenhuma Tab tecla foi realmente pressionada a partir do teclado. E isso pode ser irritante.

Duas opções dadas ao mysql pode impedir esse comportamento, no entanto. Meu favorito é --disable-auto-rehash . O outro é --quiet ou -q .

  • --disable-auto-rehash para evitar a conclusão do nome de banco de dados, tabela e coluna (que não são lidos do banco de dados, use o comando rehash comando se mais tarde você precisar de conclusão). No entanto, o histórico de comandos é mantido (recuperado através do e chaves, por exemplo). O que é conveniente.

  • --quick ou -q o que torna o mysql não usando o histórico arquivo e sem conclusão (não lê as definições do banco de dados).

No Linux pode-se adicionar um alias em .bashrc para usar --disable-auto-rehash automaticamente
alias mysql2='mysql --disable-auto-rehash'