manhome.nl

Praten met MySQL

Hoewel in ViSpro een uitstekende editor beschikbaar is om te communiceren met een MySQL server, is het soms handiger om dat via de command line techniek te doen. Nu kun je niet "rechtstreeks" praten met de server maar wel via een standaard meegeleverde client: mysql (niet te verwarren met mysqld, dat is de eigenlijke server!) en natuurlijk via de command line.

mysqldump

De mysql client  (waarove straks meer, is vooral handig voor het importeren/kopieren van een bestaande tabel.

Die tabel kun je met mysqldump opslaan als een tekstbestand met daarin alle opdrachten om de tabel (opnieuw) te maken.

 

mysqldump -u root -pJaJaJa VoorbeeldDatabase VoorbeeldTabel > tabelMetInhoud.sql

(JaJaJa is natuurlijk een voorbeeld en het command moet op één regel staan!).

Wanneer je alleen de structuur van de tabel wilt vastleggen en niet de inhoud dan doe je dat met de optie -d :

 

mysqldump -u root -pJaJaJa -d VoorbeeldDatabase VoorbeeldTabel > legeTabel.sql

 

mysql

Na de prompt op de command line geef je gewoon in:

vispro@mokum> mysql -u root -pmypassword

(of een andere user name plus natuurlijk  het eventueel password)

Deze "client" meldt zich dan met zijn met wat informatie en een hint, gevolgd door zijn eigen prompt:

mysql>

Volg de hint! Type help, gevolgd door [Enter] en je krijgt een keurige lijst van mogelijke opdrachten.

Na deze prompt kun je alle denkbare MySQL commando's geven waarbij je er wel aan moet denken dat je zo'n commando moet afsluiten met: ;

Voorbeeld:

mysql> SELECT * FROM VoorbeeldTabel;

Levert je een tabelarische lijst met de inhoud van de voorbeeldtabel.

Hint: Wanneer de regels erg lang zijn kun je het resultaat ook als "groep per record" laten zien wanneer je de regel afsluit met \G

Voorbeeld:

mysql> SELECT * FROM VoorbeeldTabel \G;

 

Wanneer je met mysqldump een "constructie" bestand hebt laten bouwen dan kun je dat in een editor bewerken waarbij je b.v. de naam van de tabel (die staat in de tekst) vervangt door een nieuwe naam. Vervolgens kun je met dat bestand een nieuwe tabel aanmaken in dezelfde of in een andere database of zelfs in een database op een andere server. Dat doe je dan met de bovengenoemde client mysql!

Voorbeeld:

mysql> source tabelMetInhoud.sql

En voila je hebt een nieuwe tabel aangemaakt.

 

mysql verlaten doe je met:

mysql> quit

 

mysqladmin

Dit is eigenlijk een tool voor de meer gevorderden. Toch kun je het ook gebruiken om een aantal eenvoudige opdrachten uit te laten voeren. Hoewel de tool een aantal opties kent gaan we hier uit van de simpele opdrachtstructuur:

systemprompt> mysqladmin status

Deze opdracht levert je een compact overzicht van de status van de server en geeft met name aan wie (vanaf welke terminal) er allemaal contact hebben met de server. Ook geeft het wat statistische informatie zoals de starttijd en de gemiddelde tijd nodig voor de uitvoering van de afgehandelde queries.

(wordt vervolgd)