Mysql
 sql >> Base de données >  >> RDS >> Mysql

Coller SQL dans la ligne de commande MySQL

Ceci est le mysql par défaut (CLI) comportement à chaque fois que l'utilisateur appuie sur Tab clé (mysql utilise la readline sous-jacente ou EditLine bibliothèques (pas sous Windows)).

Par défaut, lorsque l'utilisateur demande à use une base de données, mysql lit les tables et les définitions de champs. Ensuite, en appuyant sur Tab la clé rend mysql offre commodément l'achèvement de l'entrée actuelle avec les tables et les champs connus.

Cependant, coller du texte dans mysql qui contient des caractères TAB (\t ou 0x09 ) déclenche le même comportement - même si aucun Tab touche a été effectivement pressée à partir du clavier. Et cela peut être ennuyeux.

Deux options données à mysql peut empêcher ce comportement, cependant. Mon préféré est --disable-auto-rehash . L'autre est --quiet ou -q .

  • --disable-auto-rehash pour empêcher l'achèvement des noms de base de données, de table et de colonne (qui ne sont pas lus à partir de la base de données, utilisez le rehash commande si plus tard vous avez besoin de terminer). L'historique des commandes est cependant conservé (récupéré via le et clés par exemple). Ce qui est pratique.

  • --quick ou -q ce qui rend mysql ne pas utiliser l'historique fichier et pas de complétion (ne lit pas les définitions de la base de données).

Sous Linux on peut ajouter un alias dans .bashrc utiliser --disable-auto-rehash automatiquement

alias mysql2='mysql --disable-auto-rehash'