La clausola Select seleziona record all'interno di una o più tabelle. La sintassi minima di Select è descritta di seguito.
SELECT campi FROM tabella
Dove in campi è possibile inserire uno o più campi separati da una virgola, e in tabella il
nome di una o più tabelle sempre separate da una virgola. Se nel parametro campi si desidera inserite tutti i campi è
possibile farlo semplicemente inserendo un simbolo di asterisco (*).
Di solito raramente si desidera selezionare tutti i record della tabella, ma solitamente con la clausola Select si chiede di selezionare e
restituire solo un certo numero di record, ad esempio se abbiamo una tabella dove in ogni record sono contenuti tre campi, dove il primo si chiama
campo1
ed è previsto per inserire un nome di persona, il secondo si chiama campo2 ed è previsto per inserire un cognome e il terzo si chiama
campo3 per inserire un numero di telefono, tutti di tipo stringa e si desidera estrarre dalla tabella solo i record dove il campo campo1 è uguale
a "paolo" allora alla clausola SELECT si deve aggiungere un'altro comando che specifica la condizione necessaria. Quì sotto
l'esempio.
SELECT * FROM tabella WHERE campo1 = "paolo"
Questo esempio in pratica dice seleziona tutti i campi di ogni record dalla tabella tabella quando il campo campo1
è uguale a "paolo"
Notare le virgolette che contengono il nome paolo, queste sono necessarie quando il valore di un determinato campo è rappresentato da una
stringa, nel caso di numeri non si devono mettere.
In questa istruzione di selezione nella condizione WHERE si è utilizzata la riga campo1 = "paolo". Questa
istruzione seleziona solo quei record che nel campo campo1 contengono esattamente "paolo", se il campo contiene "Paolo" il
record non sarebbe stato selezionato perchè il simbolo di uguale seleziona solo quei record che nel campo campo1 contengono esattamente quello
che c'è scritto. Se si desidera selezionare i record senza tener conto di maiuscole e minuscole al posto dell'operatore di =(uguale) si deve
utilizzare l'operatore LIKE. Vediamo sotto l'esempio descritto sopra ma con l'operatore LIKE.
SELECT * FROM tabella WHERE campo1 LIKE "paolo"
Con questa SELECT verrebbero selezionati tutti i record i cui campi campo1 contengono "paolo" "PAOLO" "pAoLO". In pratica non
c'è distinzione tra maiuscole e minuscole.
Nei campi di tipo stringa è possibile usare un simbolo di percentuale(%) molto importante, in quanto consente di selezionare
una sottostringa contenuta in una stringa
SELECT * FROM tabella WHERE campo1 LIKE "%"
Questa query (interrogazione) seleziona tutti i campi di ogni record restituito da tabella, quando campo1
contiene qualsiasi stringa o quando la stringa è vuota.
SELECT * FROM tabella WHERE campo1 LIKE "domani%"
Questa query seleziona tutti i campi di ogni record restituito quando campo1 contiene all'inizio la sottostringa domani
( o DomaNi visto che si sta usando l'operatore LIKE) seguita da niente altro o da qualsiasi altra sottostringa.
SELECT * FROM tabella WHERE campo1 LIKE "%domani"
Qesta query fà la stessa cosa di quella precedente con la differenza che seleziona tutti i campi per ogni record restituito quando
campo1 contiene la sottostringa domani preceduta da niente o qualsiasi altra sottostringa.
Adesso pensandoci bene, se si vuole costruire una query dove vengano selezionati tutti i campi per ogni record restituito quando all'interno di
campo1 che contiene ad esempio una stringa sia presente una determinata sottostringa. basta fare così come quì sotto descritto..
SELECT * FROM tabella WHERE campo1 LIKE "%domani vado%"
Questa query seleziona tutti i campi per ogni record restituito quando in campo1 è presente la sottostringa domani vado,
che può trovarsi all'inizio della stringa, alla fine, o anche in mezzo alla stringa.
Istruzione UPDATE
Con questo comando è possibile aggiornare i dati di uno o più campi già presenti all'interno della tabella. Ad esempio è possibile che in una
tabella come quella creata precedentemente chiamata impiegati, uno degli impiegati già presente al suo interno cambi numero di telefono, ecco quindi che è
necessario un aggiornamento. Vediamo quindi la sintassi di questo comando: UPDATE tabella SET campo=valore WHERE condizione,
quindi supponendo applicato alla tabella impiegati avremmo: UPDATE impiegati SET telefono="3394578396" WHERE telefono="3392864211"
in questo caso come condizione ho usato il campo telefono ma nulla vieta ad esempio di usare qualsiasi altro campo. La seguente istruzione (o comando) per
una maggiore leggibilità può anche essere scritta in questo modo: UPDATE impiegati SET telefono="3394578396" WHERE
telefono="3392864211" è anche possibile in una unica istruzione UPDATE aggiornare più campi, quindi dopo la clausola SET basta inserire più campi
separati da una virgola.
Istruzione INSERT INTO
Con questo comando è possibile aggiungere all'interno della tabella nuovi record. Vediamo sotto la sintassi: INSERT
INTO tabella (elenco campi) VALUES (elenco valori) ad esempio vediamo sotto una aggiunta nella tabella impiegati: INSERT INTO
impiegati (nome, cognome, telefono) VALUES ("Michele" , "Danzi" , "3348958310") ovviamente il campo id trattandosi di
un campo che si autoincrementa non è necessario coinvolgerlo. Anche qui vediamo come scrivere l'istruzione nel modo più leggibile.
INSERT INTO impiegati ( nome, cognome, telefono ) VALUES (
"Michele", "Danzi", "3348958310" )
|