Sådan køres MySQL/MariaDB-forespørgsler direkte fra Linux-kommandolinjen


Hvis du har ansvaret for at administrere en databaseserver, skal du fra tid til anden muligvis køre en forespørgsel og inspicere den nøje. Mens du kan gøre det fra MySQL/MariaDB-shell, men dette tip giver dig mulighed for at udføre MySQL/MariaDB-forespørgsler direkte ved hjælp af Linux-kommandolinjen OG gemme output i en fil til senere inspektion (dette er især nyttigt, hvis forespørgslen vender tilbage masser af poster).

Lad os se på nogle enkle eksempler på at køre forespørgsler direkte fra kommandolinjen, før vi kan gå til en mere avanceret forespørgsel.

For at se alle databaser på din server kan du udstede følgende kommando:

# mysql -u root -p -e "show databases;"

Dernæst skal du køre kommandoen nedenfor for at oprette en databasetabel med navnet tutorials i databasen tecmintdb :

$ mysql -u root -p -e "USE tecmintdb; CREATE TABLE tutorials(tut_id INT NOT NULL AUTO_INCREMENT, tut_title VARCHAR(100) NOT NULL, tut_author VARCHAR(40) NOT NULL, submissoin_date DATE, PRIMARY KEY (tut_id));"

Vi bruger følgende kommando og rør output til kommandoen tee efterfulgt af filnavnet, hvor vi vil gemme output.

Som illustration bruger vi en database med navnet medarbejdere og en simpel sammenføjning mellem medarbejder- og lønningstabellerne. I dit eget tilfælde skal du bare skrive SQL-forespørgslen mellem anførselstegnene og trykke på Enter.

Bemærk, at du bliver bedt om at indtaste adgangskoden til databasebrugeren:

# mysql -u root -p -e "USE employees; SELECT DISTINCT A.first_name, A.last_name FROM employees A JOIN salaries B ON A.emp_no = B.emp_no WHERE hire_date < '1985-01-31';" | tee queryresults.txt

Se forespørgselsresultaterne ved hjælp af katkommando.

# cat queryresults.txt

Med forespørgslen resulterer i almindelige tekstfiler, kan du lettere behandle posterne ved hjælp af andre kommandolinjefunktioner.

Resumé

Vi har delt automatisere dine daglige Linux-opgaver eller udføre dem lettere.

Har du andre tip, som du gerne vil dele med resten af samfundet? Hvis det er tilfældet, skal du gøre det ved hjælp af nedenstående kommentarformular.

Ellers er du velkommen til at fortælle os dine tanker om det udvalg af tip, vi har set på, eller hvad vi kan tilføje eller muligvis gøre for at forbedre hver af dem. Vi ser frem til at høre fra dig!