sql >> Base de Datos >  >> RDS >> Mysql

Pegar SQL en la línea de comandos de MySQL

Este es el mysql predeterminado (CLI) comportamiento cada vez que el usuario presiona la Tab clave (mysql utiliza la readline subyacente o Editar Línea bibliotecas (no en Windows)).

De forma predeterminada, cuando el usuario solicita use una base de datos, mysql lee tablas y definiciones de campos. Luego, presionando el Tab clave hace mysql ofrece convenientemente completar la entrada actual con las tablas y campos conocidos.

Sin embargo, pegar algo de texto en mysql que contiene caracteres TAB (\t o 0x09 ) activa el mismo comportamiento, aunque no Tab la tecla fue realmente presionada desde el teclado. Y esto puede ser molesto.

Dos opciones dadas a mysql Sin embargo, puede prevenir ese comportamiento. Mi favorito es --disable-auto-rehash . El otro es --quiet o -q .

  • --disable-auto-rehash para evitar que se complete el nombre de la base de datos, la tabla y la columna (que no se leen de la base de datos, use el rehash comando si más adelante necesita completar). Sin embargo, se mantiene el historial de comandos (recuperado a través de y llaves, por ejemplo). Lo cual es conveniente.

  • --quick o -q lo que hace que mysql no usar el historial archivo y sin finalización (no lee las definiciones de la base de datos).

En Linux se puede agregar un alias en .bashrc usar --disable-auto-rehash automáticamente

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