sql >> Database teknologi >  >> RDS >> Mysql

Indsætter SQL i MySQL-kommandolinjen

Dette er standard mysql (CLI) adfærd, hver gang brugeren trykker på fanebladet nøgle (mysql bruger den underliggende læselinje eller EditLine biblioteker (ikke på Windows)).

Som standard, når brugeren anmoder om at use en database, mysql læser tabeller og feltdefinitioner. Tryk derefter på fanebladet nøgle gør mysql tilbyder bekvemt færdiggørelse af det aktuelle input med de kendte tabeller og felter.

Indsæt dog noget tekst i mysql der indeholder TAB-tegn (\t eller 0x09 ) udløser den samme adfærd - selvom ingen Tab tasten blev faktisk trykket fra tastaturet. Og det kan være irriterende.

To muligheder givet til mysql kan dog forhindre den adfærd. Min favorit er --disable-auto-rehash . Den anden er --quiet eller -q .

  • --disable-auto-rehash for at forhindre fuldførelse af database-, tabel- og kolonnenavne (som ikke læses fra databasen, skal du bruge rehash kommando, hvis du senere har brug for fuldførelse). Kommandohistorikken bevares dog (hentes via ). og nøgler for eksempel). Hvilket er praktisk.

  • --quick eller -q hvilket gør mysql bruger ikke historikken fil og ingen fuldførelse (læser ikke databasedefinitionerne).

På Linux kan man tilføje et alias i .bashrc at bruge --disable-auto-rehash automatisk

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


  1. Fremskyndelse af skrivebeskyttet MyISAM-tabel

  2. MySql SELECT union for forskellige kolonner?

  3. Streng bogstaver og escape-tegn i postgresql

  4. SQL-sortering følger ikke gruppe for sætning, bruger altid primærnøgle