Database  »  Articoli  »  MySQL 

MySQL: eseguire istruzioni in batch mode e da file di testo

di: Claudio Garau     30 Giugno 2009

Fondamentalmente esistono 4 modalità per comunicare con un Database server e inviare istruzioni in grado di interrogare e manipolare i dati da esso gestiti:

  • la modalità interattiva: di solito eseguita da linea di comando tramite shell Linux o prompt di MsDos (Windows);
  • la modalità batch: cioè non effettuata interattivamente ma sulla base di comandi preventivamente definiti;
  • l'utilizzo di un file di testo: tipicamente un file contenente istruzioni da passare all'esecutore del Database server;
  • l'interazione tramite applicativo: per esempio un programma realizzato in Java o uno script PHP (ad esempio PhpMyAdmin) che mettono a disposizione un'interfaccia con cui eseguire istruzioni SQL.

Nelle pagine seguenti verranno analizzate in particolare le caratteristiche relative all'esecuzione di istruzioni SQL verso DBMS MySQL tramite modalità batch e da file di testo.

Il concetto di batch mode

In linea generale è possibile riscontrare in una o più istruzioni eseguite in modalità batch le seguenti caratteristiche:

  • l'esecuzione non immediata di comandi ma programmata nel tempo, in molti casi questa esecuzione è destinata a ripetersi sulla base di intervalli di tempo definiti dall'utilizzatore;
  • la possibilità di eseguire più comandi simultaneamente (cioè tutti insieme) o sequenzialmente (cioè uno dopo l'altro);
  • la mancanza di interattività tra utente e applicazione, tipicamente infatti i comandi eseguiti in batch mode non richiedono l'intervento diretto dell'utilizzatore, anzi, la modalità batch viene utilizzata non di rado proprio per lasciare al sistema il compito di svolgere operazioni spesso ripetitive (si pensi per esempio alle istruzioni programmate tramite Crontab);
  • la possibilità di manipolare, ed eventualmente di modificare, più dati contemporaneamente compiendo velocemente operazioni che comporterebbero per l'utilizzatore anche lunghe digitazioni di istruzioni e un significativo impegno in termini di tempo.

I file di batch sono generalmente dei file destinati a contenere un elenco di istruzioni che devono essere eseguite sequenzialmente nel momento in cui viene richiamato il file, in questo modo sarà possibile rendere più semplici operazioni da eseguire frequentemente e non di rado ripetitivamente.

Diverso è invece il discorso riferito ai Batch Job (procedure o compiti eseguiti in modalità Batch), tramite questa definizione si intende infatti indicare un applicativo destinata ad eseguire una sequenza di istruzioni senza che per questo sia richiesto l'intervento da parte di un utilizzatore; come anticipato, in determinati casi è possibile programmare dei Batch Job in modo da eseguire le istruzioni previste tenendo conto di intervalli di tempo o di orari predefiniti (sheduling).

Il batch mode come alternativa alla modalità interattiva

La modalità più immediata per inviare istruzioni ad un Database server MySQL è quella interattiva, essa si esegue attraverso digitazioni da linea di comando; da shell Linux è per esempio possibile connettersi al DBMS con una semplice istruzione simile alla seguente:

shell> mysql -h hostname -u username -p

Verrà richiesta la password per l'autenticazione dell'utente in connessione è sarà possibile inviare istruzioni direttamente all'esecutore dell'applicazione; ad esempio, se si desiderasse visualizzare i database disponibili per l'utente connesso sarà possibile utilizzare il seguente comando:

mysql> SHOW DATABASES;

La modalità interattiva però implica un intervento diretto da parte dell'utilizzatore per operazioni come per esempio quelle destinate all'interrogazione (query) del database, l'alternativa più veloce è quella di sostituire il batch mode alla modalità interattiva. Vediamo come fare nella prossima pagina.

Guide Database

Guida Access

Iniziare a sviluppare database grazie alla potenza visuale offerta...

Guida SQL Server 2005

L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito...

Guida Oracle

Scoprire ed approfondire un dei più importanti RDBMS sulla scena...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Nessun corso previsto

Nessun corso previsto