Commenti(0)
L’istruzione UPDATE in MySQL
Effettuare l'update di campi e tabelle in MySQL
L’istruzione UPDATE, istruzione che fa parte del Data Manipulation Language – DML( http://it.wikipedia.org/wiki/Data_Manipulation_Language) dell linguaggio SQL, consente di modificare record già presenti in una tabella..
Essa può essere usata per cambiare singole righe, un gruppo di righe, oppure tutte le righe di una tabella. La sintassi prevede il nome della tabella da aggiornare, più la clausola SET per identificare i campi da modificare ed opzionalmente una clausola WHERE, se si vuole restringere l’UPDATE con delle condizioni.
La sintassi è dunque la seguente:
Facendo un esempio supponiamo che nella tabella Impiegato, costituita dai campi Matricola, Nome, Cognome, Sede, vogliamo impostare la sede di lavoro Milano per tutti gli impiegati. La sintassi sarà la seguente
In questo modo tutti gli impiegati presenti in tabella avranno come sede Milano. Se altrimenti vogliamo modificare la Sede dei soli impiegati la cui sede precedente era Roma si dovrà ricorrere alla clausola WHERE
modifica in Milano e Rossi rispettivamente la sede ed il cognome per gli impiegati con sede a Roma e Cognome Rossi.
Va da se che gli aggiornamenti ai campi indicati nella clausola SET verranno effettuati solo se sono concordi col tipo dati di quei campi. Ovvero nel caso in cui si vuole modificare un campo con datatype INTEGER inserendo una stringa di testo, MySQL restituirà un messaggio di errore (l’errore con codice 1366). Inoltre c’è da dire che in presenza di una modifica i valori numerici fuori scala vengono convertiti al più vicino valore in scala, e le stringhe di testo troppo lunghe vengono troncate. Ad esempio, se in una colonna di tipo TINYINT, che ammette valori da -128 a 127, inseriamo 200 o -200 verrà visualizzato il valore -128 o 127 rispettivamente, e se in una colonna definita come CHAR (2) inseriamo Milano, verrà memorizzata in tabella la stringa MI.
Infine, oltre alle clausole SET e WHERE, esistono anche le clausole LOW_PRIORITY ed IGNORE. LOW_PRIORITY ritarda l’esecuzione dell’aggiornamento, fino a quando non terminano altre applicazioni client stanno leggendo dati dalla stessa tabella, mentre IGNORE consente di ignorare gli errori che possono presentarsi cercando di effettuare l’aggiornamento. Ad esempio se i dati inseriti non sono compatibili col tipo dati di una colonna, in presenza della clausola IGNORE, MySQL tenta di convertire i dati inseriti nel valore ad essi più vicino, consentendo l’aggiornamento della tabella.
Altre istruzioni fondamentali: Istruzione DELETE Istruzione INSERTCondividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo