sql >> Databasteknik >  >> RDS >> Mysql

Klistra in SQL i MySQL-kommandoraden

Detta är standard mysql (CLI) beteende varje gång användaren trycker på fliken nyckel (mysql använder den underliggande läsraden eller EditLine bibliotek (inte på Windows)).

Som standard, när användaren begär att use en databas, mysql läser tabeller och fältdefinitioner. Tryck sedan på fliken nyckel gör mysql erbjuder bekvämt komplettering av den aktuella inmatningen med de kända tabellerna och fälten.

Klistrar dock in lite text i mysql som innehåller TAB-tecken (\t eller 0x09 ) utlöser samma beteende - även om ingen Tab tangenten trycktes faktiskt ner från tangentbordet. Och detta kan vara irriterande.

Två alternativ ges till mysql kan dock förhindra det beteendet. Min favorit är --disable-auto-rehash . Den andra är --quiet eller -q .

  • --disable-auto-rehash för att förhindra komplettering av databas-, tabell- och kolumnnamn (som inte läses från databasen, använd rehash kommandot om du senare behöver slutföra). Kommandohistoriken behålls dock (hämtad via ). och nycklar till exempel). Vilket är bekvämt.

  • --quick eller -q vilket gör mysql använder inte historiken fil och ingen komplettering (läser inte databasdefinitionerna).

På Linux kan man lägga till ett alias i .bashrc för att använda --disable-auto-rehash automatiskt

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


  1. MariaDB strängfunktioner (fullständig lista)

  2. MYSQL-fråga som returnerar 'resurs-id#12 istället för det numeriska värdet som den ska returnera

  3. Vad är det snabbaste sättet att bulka infoga mycket data i SQL Server (C#-klient)

  4. Oracle PL/SQL:Exportera data från en tabell till CSV