SQL DML - gestione dei dati di un database | |
![]() |
|
|
ASP Center
Articoli
Referenze
Script
FAQ
Downloads
Siti utili
Menu Javascript
Ricette
Cocktail
Corsi online
Registrazione domini
Area Aziende
|
SQL DML - gestione dei dati di un database
La parte dell'SQL che determina la gestione dei dati del database viene chiamata SQL DML, dove DML sta per Data Manipulation Language. I comandi che fanno parte di questo ambito di programmazione SQL sono SELECT, INSERT, UPDATE e DELETE che servono, rispettivamente, ad effettuare la ricerca dei dati, l'inserimento dei dati, la modifica e la cancellazione dei dati.
Diamo uno sguardo a tutti e quattro in sequenza. Il comando SELECT Si tratta del comando più complesso e ricco di opzioni dell'SQL DML, in quanto le ricerche possono essere filtrate in svariati modi, facendo utilizzo di decine di differenti funzioni, clausole e comandi, i quali saranno oggetto dei successivi capitoli di questa sezione. La sintassi base per effettuare la ricerca di dati da una tabella è la seguente SELECT * FROM nome_tabelladove il carattere "asterisco" (*) rappresenta "tutti i campi della tabella". Prendiamo come tabella di esempio quella creata nello scorso articolo in cui abbiamo discusso l'SQL DDL, ovvero la tabella "utenti", composta dai campi "id" (Contatore), "nome" e "cognome" (Testo) ed abbiamo aggiunto il campo "email" (Testo) attraverso il comando di modifica strutturale della tabella, ma per semplicità non lo prenderemo in considerazione. Selezioniamo tutti i campi dalla tabella "utenti" SELECT * FROM utentiSelezioniamo solo il campo "nome" SELECT nome FROM utentiSelezioniamo i campi "nome" e "cognome" SELECT nome, cognome FROM utentiNon abbiamo ancora popolato la tabella perchè non abbiamo studiato ancora l'istruzione INSERT (Rif. paragrafo successivo) ma supponiamo che ce ne siano già e siano i seguenti id | nome | cognome ------------------------------ 1 | Luca | Ruggiero 2 | Max | Bossi 3 | Claudio | GarauSelezioniamo solo il record in cui il campo "id" vale 1 SELECT * FROM utenti WHERE id = 1Selezioniamo solo il record in cui il campo "cognome" è Ruggiero SELECT * FROM utenti WHERE cognome = 'Ruggiero'Usiamo la clausola WHERE. Nel primo esempio il valore di riferimento è numerico, quindi si indica in maniera semplice ... id = 1mentre nel secondo esempio il campi di riferimento è testuale, quindi il valore va incluso tra singoli apici ... cognome = 'Ruggiero'Possiamo utilizzare diversi parametri di ricerca oltre alla clausola WHERE come gli operatori AND ed OR che, rispettivamente, si assicurano che tutte le condizioni, oppure almeno una, si verifichino al fine di filtrare i dati. Vedremo esempi pratici negli articoli a seguire. Ordiniamo adesso una query in funzione del campo "cognome" in maniera ascendente, utilizzando il comando ORDER BY e la clausola ASC SELECT * FROM utenti ORDER BY cognome ASCIl risultato sarà id | nome | cognome ------------------------------ 2 | Max | Bossi 3 | Claudio | Garau 1 | Luca | RuggieroCompiamo l'operazione inversa: ordiniamo con ORDER BY il risultato in maniera discendente con la clausola DESC SELECT * FROM utenti ORDER BY cognome DESCIl risultato sarà id | nome | cognome ------------------------------ 1 | Luca | Ruggiero 3 | Claudio | Garau 2 | Max | BossiIl valore di default, se omesso, è ASC, ma è bene specificarlo perchè potrebbe non rispondere sempre a dovere. Affronteremo i singoli casi di studio delle ricerche in articoli dedicati, prevalentemente in questa sezione ma, occasionalmente, anche in altre. Il comando INSERT La sintassi per effettuare un inserimento dati in una tabella è la seguente INSERT INTO nome_tabella (nome_campo) VALUES ('valore')
Facciamo un esempio pratico di inserimento dei dati nella tabella "utenti"
INSERT INTO utenti (nome, cognome) VALUES ('Luca', 'Ruggiero')
Il campo "id" di tipo Contatore, come già detto, si incrementa da se, quindi non va mensionato. Anche in questo caso vige la regola della differenza tra il tipo di dato numerico e testuale: se ho un campo di tipo testuale, non includo il valore tra singoli apici.Vedremo alcuni esempi di inserimento dei dati attraverso l'utilizzo del comando INSERT, ma utilizzeremo un'altra strada che per adesso non vi anticipo. Il comando UPDATE La sintassi per effettuare un aggiornamento dei dati in una tabella è la seguente UPDATE nome_tabella SET nome_campo = 'nuovo_valore'In questo modo aggiorniamo tutti i record di una tabella, ma per logica se ne aggiorna uno solo per volta. Utilizzeremo quindi la clausola WHERE UPDATE nome_tabella SET nome_campo = 'nuovo_valore' WHERE nome_campo = 'vecchio_valore'Facciamo un esempio pratico aggiornando il secondo record della tabella "utenti" UPDATE utenti SET nome = 'Massimiliano' WHERE id = 1ottenendo che "Max Bossi" diventerà "Massimiliano Bossi". Il comando DELETE La sintassi per effettuare la cancellazione dei dati in una tabella è la seguente DELETE * FROM nome_tabellasu MS Access, e DELETE FROM nome_tabellasu tutti gli altri DBMS. In questo modo, tuttavia, cancelliamo l'intero contenuto della tabella. Dobbiamo quindi filtrare l'operazione con la clausola WHERE. Facciamo un esempio di cancellazione di un record dalla tabella "utenti" DELETE * FROM utenti WHERE id = 1 |
Newsletter
Stringhe di Conn.
|
||
| © 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Utenti online: 5 - Disclaimer | Pubblicità | Supportaci | Staff | Contatti | ||||
| Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones | ||||