Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfügen von SQL in die MySQL-Befehlszeile

Dies ist das Standard-mysql (CLI)-Verhalten jedes Mal, wenn der Benutzer die Tabulatortaste drückt Schlüssel (mysql verwendet die zugrunde liegende readline oder EditLine Bibliotheken (nicht unter Windows)).

Standardmäßig, wenn der Benutzer use anfordert eine Datenbank, mysql liest Tabellen und Felddefinitionen. Drücken Sie dann die Tabulatortaste key macht mysql bietet eine komfortable Vervollständigung der aktuellen Eingabe mit den bekannten Tabellen und Feldern.

Einfügen von Text in mysql die TAB-Zeichen enthält (\t oder 0x09 ) löst das gleiche Verhalten aus - obwohl kein Tab Taste wurde tatsächlich von der Tastatur gedrückt. Und das kann ärgerlich sein.

Zwei Optionen für mysql kann dieses Verhalten jedoch verhindern. Mein Favorit ist --disable-auto-rehash . Der andere ist --quiet oder -q .

  • --disable-auto-rehash Um die Vervollständigung von Datenbank-, Tabellen- und Spaltennamen zu verhindern (die nicht aus der Datenbank gelesen werden, verwenden Sie den rehash Befehl, wenn Sie später eine Vervollständigung benötigen). Der Befehlsverlauf wird jedoch beibehalten (abgerufen über und Schlüssel zum Beispiel). Das ist praktisch.

  • --quick oder -q was mysql macht den Verlauf nicht verwenden Datei und keine Vervollständigung (liest die Datenbankdefinitionen nicht).

Unter Linux kann ein Alias ​​in .bashrc hinzugefügt werden um --disable-auto-rehash zu verwenden automatisch

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