SELECT scelta_vacanze FROM nometabella WHERE scelta_vacanze = 2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SELECT scelta_vacanze FROM nometabella WHERE scelta_vacanze = 2"

Transcript

1 Altri tipi di formati ENUM Indica a MySQL le varie possibilitã previste. Ad esempio, con: ENUM('mare','montagna','lago') Si impone l'utente la scelta di uno di queste tre possibilitã. Altri valori, saranno trattati come valori vuoti (NULL), a meno che non sia definito un valore di default. Si possono inserire fino a voci. Tornando all'esempio precedente: ENUM('mare','montagna','lago') a questo tipo di campo (che chiameremo "scelta_vacanze") à possibile selezionare una voce come se ci si trovasse di fronte a un array (che parte da 1 come in VB e derivati - tipo VBScript). Ad esempio, con: SELECT scelta_vacanze FROM nometabella WHERE scelta_vacanze = 2 Avremo come risultato il valore "montagna". SET Questo tipo di dato à uguale a ENUM, con la differenza di poter effettuare una scelta multipla. Il campo ENUM infatti, consente di scegliere un solo valore alla volta. 1 / 47

2 Linguaggio SQL di base SQL, acronimo di Structured Query Language, à un linguaggio utilizzato per manipolare database. MySQL sfrutta proprio SQL per interagire con gli utenti, attraverso dei comandi comunemente chiamati query. Una query permette di "parlare" al database e consente di effettuare operazioni sul suo contenuto o sulla sua struttura. Per selezionare i campi di un database, si usa il termine SELECT. Ammettiamo di dover estrarre il contenuto da tutti i campi di una tabella di nome "clienti", faremo: SELECT * FROM clienti; SELECT ordini FROM clienti; Se i campi fossero piã¹ di uno, à necessario separare i vari valori con una virgola (, ) ad esempio: SELECT ordini, citta, fatture FROM clienti; Affinare la query: la clausola WHERE Può essere necessario specificare meglio una query in modo tale da avere un risultato vicino alle nostre esigenze. Ad esempio, potremmo voler estrarre solo i nomi dei clienti della cittã di Milano, ecco come fare: SELECT nome FROM clienti WHERE citta = 'milano'; In questo modo, avremo come risultato solo i nomi dei clienti che hanno sede a Milano. Più in profonditã : AND e OR Facendo riferimento all'esempio di prima, potremmo richiedere i nomi dei clienti che hanno sede a Milano e hanno effettuato piã¹ di 10 ordini. Ecco come: SELECT nome FROM clienti WHERE citta = 'milano' AND ordini <= 10; Con la query sopra specificata, avremo sottomano i clienti di Milano con un numero di ordini maggiore o uguale a 10. Il termine AND puã² essere tranquillamente sostituito da due e commerciali ( && ). Il termine OR, permette di creare un'alternativa. Ad esempio, se volessimo estrarre i clienti con sede a Milano oppure a Napoli, faremo: SELECT nome FROM clienti WHERE citta = 'milano' OR citta = 'napoli'; 2 / 47

3 Il termine OR puã² essere sostituito dalle due barre verticali ( ). Ordiniamo i dati: ORDER BY Per ordinare l'estrazione di una tabella, si puã² usare ORDER BY, applicandolo magari assieme ai termini ASC (di default) e DESC. Vediamo un esempio: SELECT * FROM clienti ORDER BY ordini DESC; In questo modo avremo i clienti estratti secondo il numero di ordini effettuati. Con DESC specifichiamo dal numero piã¹ alto a quello piã¹ basso. Al contrario, ASC ordina dal numero piã¹ basso al piã¹ alto ed à di default. Quindi, tornando all'esempio precedente, per avere i nomi delle aziende clienti in ordine alfabetico, faremo: SELECT * FROM clienti ORDER BY nome ASC; ORDER BY multipli Si possono ordinare i campi anche in base a piã¹ valori. Ammettiamo di volere i risultati delle query precedenti, dai clienti che hanno fatto piã¹ ordini a quelli che ne hanno fatti meno, in ordine alfabetico. SELECT * FROM clienti ORDER BY nome, ordini DESC; In questo modo, avremo le societã in ordine alfabetico e da chi ha fatto piã¹ ordini a chi ne ha fatti di meno. Operatori matematici Quando si eseguono query SQL, à importante sapere quali operatori possono essere usati per 3 / 47

4 confrontare un campo con un altro, oppure con un valore da noi specificato. I piã¹ usati sono: Tipi di dati DATA / ORA Simbolo Descrizione < Minore > Maggiore <= Minore o uguale 4 / 47

5 >= Maggiore o uguale = Uguale!= Diverso LIKE comparazione tra campi simili Un approfondimento a parte merita LIKE, che consente di effettuare una comparazione tra campi simili, anche non uguali. Ad esempio, ammettiamo di voler estrarre, dalla tabella clienti, quelle aziende che contengano 5 / 47

6 nella descrizione della societã la parola Internet. Ecco come fare: SELECT nome FROM clienti WHERE descrizione LIKE '%internet%' I due simboli di percentuale ( % ), servono a MySQL per sapere che prima e dopo il termine internet, potrebbero esserci altre parole. Se non avessimo usato questa query, magari usando WHERE descrizione = 'internet', il database avrebbe cercato quelle aziende che contengano nel campo descrizione la sola parola internet. Possiamo anche usare le % in maniera diversa. Ad esempio: SELECT nome FROM clienti WHERE citta LIKE 'mila%' In questo modo, MySQL estrarrã tutte quei clienti che hanno come sede la parola mila seguita da altro testo, ad esempio: Milano, Milazzo, Milano Marittima ecc. Tipi di operatori matematici Con MySQL Ã possibile eseguire delle query utilizzando all'interno della sintassi SQL degli operatori matematici, che sono i classici della somma, sottrazione, moltiplicazione e divisione. Somma Possiamo sommare due o piã¹ campi per ottenere un nuovo campo, ad esempio: SELECT (primocampo + secondocampo) AS totale FROM nometabella; In questo modo, avremo una colonna di nome "totale" in cui saranno contenute tutte le somme dei due campi. Differenza Come per la somma, possiamo fare: 6 / 47

7 SELECT (primocampo - secondocampo) AS differenza FROM nometabella; Moltiplicazione All'interno delle query à possibile anche moltiplicare i valori di piã¹ campi, ad esempio: SELECT (primocampo * secondocampo) AS risultato FROM nometabella; Divisione E ancora, per la divisione, possiamo usare: SELECT (primocampo / secondocampo) AS risultato FROM nometabella; Elevazione a potenza L'elevazione a potenza con MySQL si puã² ottenere usando due funzioni: POW(x,y) o POWER(x,y), dove x rappresenta la base della potenza e y l'esponente. Ecco un esempio: SELECT POW(10,3); Restituisce: Radice quadrata La radice quadrata non negativa di un numero si ottiene con: SELECT SQRT(9); E restituisce: Casi pratici Gli operatori matematici possono essere molto comodi anche per ordinare dei risultati. Ammettiamo di avere una tabella che contenga i voti totali assegnati a un articolo e il numero di persone che hanno votato. Per ordinare i records cosã da ottenere gli articoli piã¹ apprezzati, faremo: SELECT id,titolo FROM articoli ORDER BY (voti_totali / numero_voti) DESC; Per migliorare la query e avere sottomano anche la media dei voti di ogni articolo, possiamo crearci un campo provvisorio con il comando AS, ecco come: SELECT (voti_totali / numero_voti) AS mediavoto, id, titolo FROM articoli ORDER BY mediavoto DESC 7 / 47

8 Tipi di operatori matematici avanzati Nella puntata dedicata agli operatori matematici di base, abbiamo visto le sintassi SQL per eseguire calcoli su un RDBMS MySQL. In questa puntata vedremo gli operatori piã¹ avanzati, che consentono i calcoli di logaritmi, seni e coseni, tangenti, archi e arrotondamenti. LEAST La funzione LEAST restituisce la cifra piã¹ piccola di quelle passate come parametri. Ad esempio: SELECT LEAST(1, 4, 5, 8.6, 0.9); Restituisce: 0.9 GREATEST Funzione simile alla precedente, ma ricava il numero piã¹ grande. Tipo: SELECT GREATEST(1, 4, 5, 8.6, 0.9); Restituisce: 8.6 MOD Questa funzione da' come risultato il resto di un numero (passato come primo parametro) diviso per l'altro numero (passato come secondo parametro). Vediamo: SELECT MOD(5,2); Restituisce 1 FLOOR La funzione FLOOR arrotonda la cifra specificata all'intero piã¹ grande inferiore alla cifra stessa. Ecco un esempio chiarificatore: 8 / 47

9 SELECT FLOOR(11.5); Restituisce: 11 CEILING Questa funzione à molto simile alla FLOOR ma esegue l'arrotondamento al valore minore non inferiore alla cifra stessa. Ecco il solito esempio "schiarsci-idee": SELECT CEILING(11.5); Restituisce: 12 ROUND A questa funzione vengono passati due parametri: nel primo il numero da arrotondare e nel secondo parametro, a quale cifra decimale effettuare l'arrotondamento. Ecco come: SELECT ROUND( ,2); Restituisce: Se il secondo parametro non venisse specificato, la cifra viene arrotondata all'intero pi㹠grande inferiore alla cifra stessa (proprio come la funzione FLOOR). Ad esempio: SELECT ROUND(12.5); Restituisce: 12 EXP La funzione EXP restituisce la base dei logaritmi naturali elevata alla potenza della cifra indicata. Ecco come: SELECT EXP(2); Restituisce: LOG Questa funzione da' come risultato il logaritmo naturale del numero indicato. Ecco: SELECT LOG(12); Restituisce: LOG10 Questa funzione, simile alla precedente, restituisce il logaritmo del numero specificato in base / 47

10 SELECT LOG10(12); Restituisce: SIGN La funzione SIGN consente di ottenere tre risultati diversi in base al segno della cifra indicata. Un numero positivo restituirebbe 1, un numero negativo -1 e un numero nullo (0 - zero) restituirebbe per l'appunto 0. Vediamo tre esempi: SELECT SIGN(5); Restituisce: 1 SELECT SIGN(-2); Restituisce: -1 SELECT SIGN(0); Restituisce: 0 SIN La funzione SIN ottiene il seno di una cifra data in radianti: SELECT SIN(10); Restituisce: COS Questa funzione calcola il coseno di un numero dato in radianti: SELECT COS(10); Restituisce: TAN La funzione TAN calcola la tangente di un numero espresso in radianti: SELECT TAN(10); Restituisce: ASIN Questa funzione calcola l'arco seno di un numero. Restituisce NULL se la cifra non fosse compresa tra -1 e / 47

11 SELECT ASIN(-0.5); Restituisce: ACOS Simile alla precedente, ma restituisce ovviamente l'arco coseno della cifra indicata quando quest'ultima fosse compresa tra -1 e 1. Altrimenti restituirebbe NULL. SELECT ACOS(-0.5); Restituisce: ATAN Questa restituisce invece l'arco tangente della cifra indicata: SELECT ATAN(3); Restituisce: ATAN2 Questa restituisce invece l'arco tangente delle due cifre indicate, tipo: SELECT ATAN2(3,4); Restituisce: COT La funzione COT restituisce la cotagente della cifra data, ad esempio: SELECT COT(5); Restituisce: DEGREES Questa funzione converte i numeri da radianti a gradi: SELECT DEGREES(2); Restituisce: RADIANS Effettua l'operazione inversa della funzione precedente. Ovvero partendo da un numero in gradi, lo converte in radianti. SELECT RADIANS( ); 11 / 47

12 Restituisce: Funzioni condizionali Le funzioni condizionali di MySQL consentono di eseguire query verificando che un'istruzione sia vera o falsa. Come per tutti i linguaggi di programmazione, la condizione e il relativo comportamente viene suddiviso su tre passaggi: 1. La condizione 2. Se la condizione à vera, esegue questa istruzione 3. Se la condizione à falsa, esegue un'altra istruzione Il classico If... Then... Else / 47

13 MySQL prevede diverse sintassi per le verifiche condizionali. Vediamone alcune: La funzione IF La funzione IF permette di confrontare dei campi e restituire delle istruzioni diversi a seconda della veridicitã della condizione iniziale: SELECT IF(primoCampo!= secondocampo, 1, 0) FROM nometabella; Con questo tipo di query, MySQL confronta il primocampo con il secondocampo. Se fossero diversi, restituirebbe 1, altrimenti 0. Vediamo un caso banale ma pratico. Possiamo effettuare la verifica condizionale IF anche con dei numeri. Ad esempio: SELECT IF(1<2, 'vero', 'falso'); In questo caso, MySQL restituisce "vero", perchã 1 à minore di 2. IFNULL Questa funzione puã² risultare molto comoda per intercettare i NULL che MySQL potrebbe restituire. IFNULL infatti intercetta i casi di NULL e restituisce ciã² che il database administrator desidera. Può essere utile quando si divide un campo per un altro quando non si sa cosa contengano i due campi (magari perchã dinamicamente modificati dagli utenti). Se infatti il secondo campo fosse zero ( 0 ), dividere per 0 restituisce un errore, per MySQL quindi à NULL. Onde evitare questo problema, si usa il condizionale IFNULL. Vediamo un esempio con dei numeri: SELECT IFNULL(2/0,'impossibile'); In questo caso MySQL, invece di restituire NULL, restituisce "impossibile". CASE Questo condizionale consente a MySQL di verificare piã¹ campi, come per il Select Case di Visual Basic o Switch() per i linguaggi derivati da C (Java, Javascript, C# ecc.). Quindi, invece di avere una sola condizione, CASE consente di effettuare piã¹ verifiche, ad esempio: SELECT CASE 1 WHEN primocampo = 'primovalore' THEN 1 WHEN secondocampo = 'secondovalore' THEN 2 WHEN terzocampo = 'terzovalore' THEN 3 ELSE 'nessuna condizione à vera' END; In questo modo, se uno dei valori del campo primocampo à uguale a "primovalore", allora MySQL restituisce 1. E cosã via per il secondocampo e il terzocampo. Se nessuna condizione à soddisfatta, MySQL restituisce "nessuna condizione à vera". Il comando END 13 / 47

14 finale, chiude il CASE. Funzioni per agire sulle stringhe Le funzioni per agire sulle stringhe servono per modificare il testo da inviare a MySQL che poi elaborerã come indicato dalla query. Hanno il grande vantaggio delle prestazioni: à infatti un'ottima scelta per migliorare la velocitã delle applicazioni Web che si appoggiano a MySQL. LOCATE La funzione LOCATE consente di ricercare una stringa all'interno di un'altra, indicandogli da che posizione partire. Ad esempio, ammettiamo di dover cercare la parola "guida", all'interno della stringa "questa à proprio una bella guida a MySQL". Come facciamo? SELECT LOCATE("guida","questa à proprio una bella guida a MySQL",1); La funzione LOCATE ammette quindi tre valori: la stringa da cercare, la stringa nella quale cercare e l'indice di posizione dal quale iniziare la ricerca. Nel nostro esempio, l'1 fa cominciare la ricerca dal primo carattere. Il valore del punto dal quale iniziare la ricerca, se omesso sarã inteso uguale a 1. Tornando all'esempio, MySQL restituirebbe 28. Se trovasse due occorrenze, restituirebbe solo la posizione della prima. LTRIM Come per VB, questa funzione toglie gli spazi iniziali dal testo. Ad esempio: SELECT LTRIM("    valore"); Restituirà : "valore" LTRIM, in assenza di spazi bianchi iniziali, non toglie altri caratteri. Ad esempio: SELECT LTRIM("valore"); Restituirà comunque "valore" 14 / 47

15 RTRIM Simile alla precedente, con la differenza di eliminare gli spazi bianchi alla fine della stringa. Ad esempio: SELECT RTRIM("valore    "); Restituirà "valore" TRIM Questa funzione riunisce le capacitã delle due viste precendentemente. E' infatti in grado di rimuovere gli spazi sia dalla fine che dall'inizio di una stringa. Ad esempio: SELECT TRIM("    valoreâ    "); Restituirà "valore" TRIM à anche in grado di ruomevere gruppi di caratteri da una stringa. Per fare questo, utilizza tre termini: - TRALINING: Elimina i caratteri all'inizio della stringa - LEADING: Elimina i caratteri alla fine della stringa - BOTH: Elimina i caratteri sia all'inizio sia alla fine della stringa Ad esempio: SELECT * FROM nometabella WHERE nomecampo = TRIM(TRAILING 'NN' FROM 'NNvalore'); SELECT * FROM nometabella WHERE nomecampo = TRIM(LEADING 'NN' FROM 'valorenn'); SELECT * FROM nometabella WHERE nomecampo = TRIM(BOTH 'NN' FROM 'NNvaloreNN'); MID 15 / 47

16 La funzione MID consente di levare caratteri all'inizio e alla fine di una stringa. Il numero di caratteri, sono indicati nel secondo e terzo parametro della funzione (il primo à la stringa). A tal proposito, à bene sapere che MySQL inizia a contare da 1 e che il primo carattere viene identificato dal numero 2. Ad esempio: SELECT MID("questa à una guida mysql gratuita", 14, 11); Restituirà : "guida mysql" REPEAT La funzione REPEAT ripete una stringa tante volte quanto specificato. Ad esempio: SELECT REPEAT("guida mysql", 4); Restituirà : "guida mysqlguida mysqlguida mysqlguida mysql" REPLACE Questa funzione, data una stringa, sostiuisce i caratteri specificati con altri. Ad esempio: SELECT REPLACE("pippo","p","b"); Restituirà : "bibbo" Attenzione alla differenza che MySQL fa tra caratteri minuscoli e maiuscoli (à case sensitive). REVERSE La funzione REVERSE ribalta una stringa, scrivendola quindi al contrario. Ad esempio: SELECT REVERSE("admin"); Restituirà : "nimda" SPACE Questa funzione restituisce una stringa di spazi, tanti quanti specificati all'interno delle parentesi. Ad esempio: SPACE(5) restituirã 5 spazi. SUBSTRING Partendo da una stringa, SUBSTRING restituisce un'altra stringa togliendo tanti caratteri quanto indicato nella funzione (partendo da sinistra). Ad esempio: SELECT SUBSTRING("guida a mysql", 9); Restituirà : "mysql" Si ricorda che MySQL conta partendo da 1, quindi per levare anche un solo carattere, 16 / 47

17 bisognerã specificare 2. Ad esempio: SELECT SUBSTRING("guida a mysql", 2); Restituirà : "uida a mysql" SUBSTRING_INDEX Questa à una variante della funzione SUBSTRING appena vista. Questa variante, consente di eliminare del testo partendo da un carattere assegnato e iniziando a contare da sinistra. Ad esempio: SELECT SUBSTRING_INDEX(" ".", 2); Restituirà : " Questa funzione ha anche l'alternativa dei numeri negativi. In questo caso, il conteggio inizia da destra: SELECT SUBSTRING_INDEX(" ".", -2); Restituirà : "risorse.net" UCASE e LCASE Come per VB, le funzioni UCASE e LCASE trasformano il testo rispettivamente in maiuscolo e minuscolo. Ad esempio: SELECT UCASE("mysql"); Restituirà "MYSQL" Mentre: SELECT LCASE("MySQL"); Restituirà "mysql" Ci sono poi molte altre funzioni, che abbiamo preso direttamente dal manuale di MySQL. Funzioni aggregate 17 / 47

18 Le funzioni aggregate servono per eseguire operazioni matematiche su una o pi㹠colonne di MySQL. COUNT La funzione COUNT viene utilizzata per recuperare il numero di righe di una colonna. Ad esempio: SELECT COUNT(*) AS totale FROM nometabella; Questa funzione pu㲠essere utilizzata su qualunque tipo di dato. COUNT(DISTINCT) Questa funzione restituisce il numero delle diverse combinazioni che non contengono il valore NULL. Ad esempio, se in una colonna abbiamo 10 righe: 5 contenenti la parola "calcio", 3 contenenti il termine "tennis" e le ultime 2 con "golf", effettuando un COUNT(DISTINCT) avremo il numero di combinazioni diverse, ovvero 3 (calcio, tennis, golf). SELECT(DISTINCT nomecampo) FROM nometabella; Per riassumere quindi, se avessimo una tabella di MySQL che raccoglie le registrazioni a un determinato sito, SELECT COUNT(DISTINCT) pu㲠essere utile per sapere quanti nomi diversi sono stati usati, oppure quanti diversi titoli di studio ecc. MAX Questa funzione restituisce il valore pi㹠alto contenuto all'interno di una colonna. Per i campi numerici, restituisce il numero pi㹠alto, per quelli testuali (nei nuovi MySQL questa operazione à permessa) seleziona il campo che secondo l'ordine alfabetico à pi㹠avanti (ad esempio due valori: Alessandro e Filippo prende Filippo) SELECT MAX(nomeCampo) FROM nometabella; MIN Questa funzione fa esattamente l'opposto della precedente: prende il valore pi㹠basso. Ecco un esempio: SELECT MIN(nomeCampo) FROM nometabella; AVG Restituisce una media dei valori presenti in un campo. Da applicare ai soli campi numerici: SELECT AVG(nomeCampoNumerico) FROM nometabella; SUM La funzione SUM somma i valori contenuti nel campo: 18 / 47

19 SELECT SUM(nomeCampoNumerico) FROM nometabella; Anche questa funzione, va applicata ai soli campi numerici. STD Questa à una funzione utile per gli statistici. Calcola infatti la distanza di un valore dalla media, e si ottiene con: SELECT STD(nomeCampoNumerico) FROM nometabella; GROUP BY La clausola GROUP BY consente di raggruppare un set di risultati in presenza di una delle funzioni aggregate previste da MySQL. Ammettiamo di avere una tabella con tre voci: - id (INT e AUTO_INCREMENT) - ordini (TINYINT) - cliente (VARCHAR) Per sapere quale sia la distanza dalla media degli ordini di ogni cliente, faremo: SELECT STD(ordini) AS dispersione, cliente FROM nometabella GROUP BY cliente; In questo modo avremo due tabelle, "dispersione" che contiene la distanza della media degli ordini e "cliente" contenente appunto il nome del cliente. 19 / 47

20 Nomi di tabelle e campi in MySQL Nella puntata SQL di base all'interno di questa guida a MySQL, abbiamo visto che SQL Ã a tutti gli effetti un linguaggio. In quanto tale, ha regole grammaticali e strutturali che vanno rispettate, cosã da interagire alla perfezione con il database. Tra queste regole, come per quasi tutti i linguaggi, esistono nomi riservati che non possono essere utilizzati: ALTER AND AS CREATE CROSS JOIN DELETE DROP 20 / 47

21 FROM FULL JOIN GROUP BY INSERT INTO JOIN LEFT JOIN LIKE LIMIT ON OR ORDER BY RIGHT JOIN SELECT SET UPDATE WHERE Altri consigli nell'assegnazione dei nomi Quando andiamo assegnare i nomi delle nostre tabelle e dei nostri campi, esistono altre piccole regole che à meglio seguire. E' bene evitare caratteri particolari all'interno dei nomi. Per un migliore funzionamento, à bene utilizzare solo: 21 / 47

22 - Caratteri alfanumerici - Per inserire spazi tra le parole, usare il simbolo underscore ( _ ) E nient'altro. E' bene quindi evitare altri simboli (?,. ` ' ù à ò à à à + * ecc.), utilizzare il carattere di spaziatura o anche il semplice trattino ( - ). Questo ultimo simbolo, merita un approfondimento a parte. Se ci trovassimo di fronte a un campo dal nome: voti-totali Per estrarlo, magari dalla tabella "voti", dovremmo fare: SELECT `voti-totali` FROM voti Questo perchã la presenza del trattino ( - ) ci impone l'utilizzo del simbolo ` per raggruppare il nome del campo (o della tabella). 22 / 47

23 Migliorare la leggibilitã delle query Una pratica che seguo da molto tempo per migliorare la leggibilitã delle query SQL (con MySQL o altri database) à quella di utilizzare i comandi in maiuscolo e i nomi dei campi in minuscolo. Questo mi à molto utile quando devo scrivere query piã¹ strutturate, ad esempio: SELECT * FROM fornitori WHERE id_prodotto IN (SELECT id_prodotto FROM prodotti_spediti AS o, mezzo_di_trasporto AS s WHERE s.mezzo_di_trasporto LIKE 'gomma%' AND s.mezzo_di_trasporto=o.mezzo_usato) Casi particolari: gli escape Esistono casi in cui à necessario applicare gli escape ad alcuni caratteri. Ammettiamo di voler realizzare una query simile: SELECT * FROM nometabella WHERE titolo = 'L'utilità di MySQL'; In questo caso, avremo un errore perchã non à possibile usare l'apice sigolo ( ' ) quando abbiamo giã usato gli apostrofi come delimitatori del valore del campo. E' necessario quindi applicare l'escape al carattere apostrofo, come segue: SELECT * FROM nometabella WHERE titolo = 'L'utilità di MySQL'; 23 / 47

24 Un altro carattere che va obbligatoriamente sottoposto a escape à la backslash ( ). Come segue: INSERT INTO nometabella VALUES('La backslash (\) va sottoposta a escape con il segno \'); Funzioni automatiche per gli escape Spesso MySQL viene utilizzato nel Web associato ad un linguaggio di sviluppo, come PHP, oppure a una tecnologia lato server come ASP. Per effettuare gli escape dei caratteri quindi, si possono usare funzioni predefinite: PHP Con PHP à possibile sfruttare alcune funzioni predefinite, come ad esempio: - mysql_escape_string() Aggiunge le sequenze di escape in una stringa (implementata dalla versione di PHP). - mysql_real_escape_string() 24 / 47

25 Aggiunge le sequenze di escape ai caratteri speciali in una stringa per l'uso in una istruzione SQL, tenendo conto dell'attuale set di caratteri della connessione (presente dalla versione di PHP). PHP comunque, ha molte altre funzioni dedicate a MySQL, disponibili nella documentazione ufficiale. Inserire una nuova riga 25 / 47

26 Per aggiungere una riga all'interno di una tabella in MySQL, si utilizza il termine INSERT. Ammettiamo ora di voler aggiungere una nuova voce all'interno della tabella clienti: INSERT INTO clienti(id,nome,descrizione,citta,ordini) VALUES('102','WebMilano Enterprise','Web agency','milano','1') In questo modo, abbiamo inserito i nuovi valori specificati tra le parentesi del termine VALUES all'interno della tabella clienti (INSERT INTO), i cui campi sono specificati anch'essi tra parentesi tonde. 26 / 47

27 Se dovessimo inserire tutti i valori nella nuova riga, possiamo anche omettere i vari campi all'interno della tabella. Ad esempio: INSERT INTO clienti VALUES('102','WebMilano Enterprise','Web agency','milano','1') I campi che possono essere lasciati vuoti (perchã auto incrementali, null ecc.) possono anche non essere inseriti all'interno della query. Ammettiamo che "id" sia un campo incrementale e che "ordini" abbia come valore predefinito 1. Possiamo evitare di specificarli, ad esempio: INSERT INTO 27 / 47

28 clienti(nome,descrizione,citta) VALUES('WebMilano Enterprise','Web agency','milano') Durante l'operazione di inserimento, dobbiamo fare attenzione che a ogni campo specificato tra le parentesi tonde all'interno della tabella, sia associato un valore interno a VALUES. Se ad esempio inserissimo per errore piã¹ valori all'interno di VALUES rispetto a quanti ne avessimo specificati dopo INTO nometabella, MySQL ci risponderebbe con un errore simile: ERROR Column count doesn't match value count at row N Dove N Ã la riga dell'errore. 28 / 47

29 In questo caso, significa appunto che nel campo VALUES abbiamo specificato piã¹ valori di quanto possibile. Lo stesso errore ci verrebbe restituito se facessimo il caso opposto, ovvero mancasse l'inserimento di qualche campo specificato nella query. Effettuare inserimenti multipli con MySQL Quando dobbiamo inserire piã¹ righe all'interno di una sola tabella, a rigor di logica dovremmo usare tante istruzioni INSERT INTO quante sono le nuova righe. MySQL invece, consente gli inserimenti multipli con una sola istruzione INSERT INTO, ad esempio: 29 / 47

30 INSERT INTO clienti(nome,descrizione,citta) VALUES('WebMilano.NET','WebAgency','Milano'), VALUES('Latte & tipici','casearia','modena'), VALUES('Auto e occasioni','concessionaria','palermo') Ogni VALUES va separato dall'altro con una virgola (, ) Nessuno ci vieta comunque di usare piã¹ INSERT INTO, ad esempio: INSERT INTO clienti(nome,descrizione,citta) VALUES('WebMilano.NET','WebAgency','Milano') 30 / 47

31 INSERT INTO clienti(nome,descrizione,citta) VALUES('Latte & tipici','casearia','modena') INSERT INTO clienti(nome,descrizione,citta) VALUES('Auto e occasioni','concessionaria','milano') Anche se con piã¹ INSERT INTO avremo un calo di prestazioni e soprattutto uno spreco di codice inutile. Modificare una riga 31 / 47

32 La modifica delle righe di una tabella MySQL avviene attraverso il termine UPDATE. Modificare una sola riga Il codice à : UPDATE nometabella SET nomecampo = 'nuovovalore' 32 / 47

33 WHERE id = 'n'; Dove "n" identifica il campo id univoco (di tipo INT e AUTO_INCREMENT) da modificare. Modificare pi㹠righe La modifica di pi㹠righe à molto simile alla procedura seguita per la modifica di una sola riga, à sufficiente solo allargare le coincidenze della clausola WHERE. Ad esempio, per modificare tutti i records che hanno il cmapo "id" maggiore a 10, faremo: 33 / 47

34 UPDATE nometabella SET nomecampo = 'nuovovalore' WHERE id > 10; Ci sono casi in cui à necessario modificare pi㹠righe che hanno "id" non raggruppabili. Sarà necessario specificare una nuova istruzione UPDATE, ad esempio: UPDATE nometabella SET nomecampo = 'nuovovalore' WHERE id = 5; UPDATE nometabella SET nomecampo = 'altrovalore' WHERE id = 12; UPDATE nometabella SET 34 / 47

35 nomecampo = 'ennesimovalore' WHERE id = 25; Modificare tutte le righe Per modificare tutte le righe di una tabella, si puã² prendere la query precedente e omettere la clausola WHERE: UPDATE nometabella SET nomecampo = 'nuovovalore'; Modificare i valori con operatori matematici Come abbiamo giã visto nella puntata dedicata agli operatori matematici, nel caso in cui avessimo 35 / 47

36 un campo numerico, possiamo modificarlo al volo, senza bisogno di estrarlo e operarci poi sopra con un linguaggio server side come PHP. Ad esempio, per aggiungere una unitã a un campo INT, possiamo fare: UPDATE nometabella SET nomecampo = nomecampo + 1; Per raddoppiare il campo, potremmo fare: UPDATE nometabella SET nomecampo = nomecampo * 2; 36 / 47

37 Eliminare delle righe Per eliminare una o piã¹ righe da una tabella MySQL, si utilizza il termine DELETE. La struttura, Ã identica alla proprietã SELECT, giã analizzata nella puntata 37 / 47

38 dedicata a SQL di base. Eliminare una sola riga La sintassi à : DELETE nomecampo FROM nometabella WHERE nomecampo = 'valore' LIMIT 1; Una buona abitudine da prendere quando si vuole eliminare un determinato numero di righe (anche una sola) à quella di usare la 38 / 47

39 proprietã LIMIT. Per capire perchã, vediamo l'esempio successivo: DELETE nome FROM clienti WHERE nome = 'WebMilano.NET'; In questo caso, ammettiamo di voler eliminare una societã dall'elenco dei clienti che si chiami WebMilano.NET. Se perã² ci fossero piã¹ campi "nome" con tale valore, la query precedente li 39 / 47

40 eliminerebbe tutti, con il rischio di ritrovarsi con una tabella inutilizzabile. Per evitare ciã², Ã sempre bene aggiungere LIMIT 1, cosã, in caso di poca specificitã della query, perderemmo comunque un solo valore: DELETE nome FROM clienti WHERE nome = 'WebMilano.NET' LIMIT 1; Se avessimo un campo di riferimento univico, ad 40 / 47

41 esempio un "id" di tipo INT e AUTO_INCREMENT, potremmo fare: DELETE nome FROM clienti WHERE id = n; Dove "n" à il numero univoco che identifica la riga da eliminare. Eliminare pi㹠righe Per eliminare pi㹠righe da una tabella MySQL, la sintassi à uguale. Se sapessimo 41 / 47

42 esattamente quante sono le righe da cancellare, potremmo comunque includere LIMIT: DELETE nome FROM clienti WHERE citta = 'milano' LIMIT 10; Se invece non sapessimo il numero di righe da eliminare ma volessimo comunque eliminare tutte quelle che rispondono alla clausola WHERE, potremmo fare: 42 / 47

43 DELETE nome FROM clienti WHERE citta = 'milano'; Eliminare tutti i records di una tabella Si possono cancellare tutti i records da una singola tabella con una sola linea di codice: DELETE * FROM clienti; In questo caso, resta la struttura della tabella ma vengono rimossi i campi. Nel caso in cui avessimo perã² dei 43 / 47

44 valori auto incrementali (spesso si usano per campi di nome "id" o simili) i nuovi campi terranno conto dei valori auto incrementali che sono stati rimossi. Ad esempio, se avessimo avuto un campo "id" auto incrementale arrivato fino a 100, con la sintassi DELETE * FROM nometabella, i nuovi campi partiranno da 101. Per evitare ciã², si utilizza il termine TRUNCATE, ad 44 / 47

45 esempio: TRUNCATE TABLE nometabella; In questo modo, il contenuto della tabella sarã completamente svuotato e i campi auto incrementali ripartiranno da / 47

46 Esempi: Come ricavare l'ultimo record 46 / 47

47 SELECT * FROM NomeTabella ORDER BY id DESC LIMIT 1 47 / 47

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Sommario - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Introduzione - Un database è un archivio strutturato di dati che può essere manipolato con dei comandi nel linguaggio

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5 Istruzioni SQL Istruzioni SQL 1 Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5 Query di inserimento 5 INSERT INTO 5 Query di

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

qui possiamo scegliere se creare un nuovo Database oppure aprire un Database già esistente. Fatto ciò avremo questa seconda schermata:

qui possiamo scegliere se creare un nuovo Database oppure aprire un Database già esistente. Fatto ciò avremo questa seconda schermata: Creare un Database completo per la gestione del magazzino. Vedremo di seguito una guida pratica su come creare un Database per la gestione del magazzino e la rispettiva spiegazione analitica: Innanzitutto

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Istituto di Istruzione Superiore Alessandrini - Marino 1 Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Descrizione Un azienda commerciale che vende prodotti IT (computers,

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

FORMULE: Operatori matematici

FORMULE: Operatori matematici Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Funzioni non documentate Openoffice.org. 3 Base mini-howto

Funzioni non documentate Openoffice.org. 3 Base mini-howto Funzioni non documentate Openoffice.org. 3 Base mini-howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 gennaio 2009 Come risolvere il problema del contatore che inizia da 0 (zero) Come importare

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante Esercizio 0 Scambio lettere Scrivere la funzione void scambiolettere(char *dest, char *lettere, int p_o_d) che modifichi la stringa destinazione (dest), sostituendone i caratteri pari o dispari (a seconda

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). ESEMPIO DI QUERY SUL FILE Formario_minuscolo Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). Durante l interrogazione,

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag. Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,

Dettagli

Prof. Nicola Cappuccio ing.nicola.cappuccio@gmail.com

Prof. Nicola Cappuccio ing.nicola.cappuccio@gmail.com Excel e le sue Funzioni Guida Pratica per la realizzazione di Progetti Prof. Nicola Cappuccio ing.nicola.cappuccio@gmail.com Ing. Nicola Cappuccio 1 Sommario INT (funzione INT)... 3 Descrizione... 3 Sintassi...

Dettagli

Le query di raggruppamento

Le query di raggruppamento Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti: Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo

Dettagli

Verifica della correttezza formale del numero di partita IVA

Verifica della correttezza formale del numero di partita IVA Verifica della correttezza formale del numero di partita IVA A tutti i soggetti che intraprendono un attività rilevante ai fini Iva (impresa, arte, professione), al momento della presentazione della dichiarazione

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

--- PREMESSE INTRODUZIONE. .:luxx:.

--- PREMESSE INTRODUZIONE. .:luxx:. SQL INJECTION --- SICUREZZA.:luxx:. PREMESSE Questa guida accenna ad alcuni metodi di SQL injection e si sofferma sulla prevenzione di tali attacchi, per comprendere al meglio il testo è necessaria una

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Utilizzo delle formule in Excel

Utilizzo delle formule in Excel Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Introduzione. Alberto Fortunato alberto.fortunato@gmail.com. www.albertofortunato.com Pag. 1 di 137

Introduzione. Alberto Fortunato alberto.fortunato@gmail.com. www.albertofortunato.com Pag. 1 di 137 Introduzione Il software Gestione magazzino è stato realizzato con l intenzione di fornire uno strumento di apprendimento per chi intendesse cominciare ad utilizzare Access 2010 applicando le tecniche

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database Uso delle basi di dati CORSO ECDL DataBase Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database, come

Dettagli

GENERAZIONE PREVENTIVI

GENERAZIONE PREVENTIVI GENERAZIONE PREVENTIVI Per la creazione di un nuovo preventivo si fa sempre riferimento ad un Tipo Preventivo, identificato da una certa Sigla. Nell esempio seguente vediamo come il preventivo abbia impostata

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci Excel avanzato I nomi marco.falda@unipd.it Gli indirizzi e le formule possono essere sostituiti da nomi documentazione astrazione Si creano tramite Inserisci Nome Definisci Vengono raccolti nell area riferimento

Dettagli

Microsoft Access Maschere

Microsoft Access Maschere Microsoft Access Maschere Anno formativo: 2007-2008 Formatore: Ferretto Massimo Mail: Skype to: ferretto.massimo65 Profile msn: massimoferretto@hotmail.com "Un giorno le macchine riusciranno a risolvere

Dettagli

<?php include './include/page.php';

<?php include './include/page.php'; Il modulo di inserimento Per creare il modulo di inserimento creeremo due file per semplicità: insert.php sarà il file contenente il form dove inserire i dati. Premendo infine il pulsante inserisci si

Dettagli

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array... Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate

Dettagli

USO DI EXCEL CLASSE PRIMAI

USO DI EXCEL CLASSE PRIMAI USO DI EXCEL CLASSE PRIMAI In queste lezioni impareremo ad usare i fogli di calcolo EXCEL per l elaborazione statistica dei dati, per esempio, di un esperienza di laboratorio. Verrà nel seguito spiegato:

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

FUNZIONI AVANZATE DI EXCEL

FUNZIONI AVANZATE DI EXCEL FUNZIONI AVANZATE DI EXCEL Inserire una funzione dalla barra dei menu Clicca sulla scheda "Formule" e clicca su "Fx" (Inserisci Funzione). Dalla finestra di dialogo "Inserisci Funzione" clicca sulla categoria

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Excel. Excel. Videata iniziale Fogli elettronici. Fogli elettronici. Come si inserisce un dato

Excel. Excel. Videata iniziale Fogli elettronici. Fogli elettronici. Come si inserisce un dato Excel Excel he cos è? È un programma che appartiene alla famiglia dei fogli elettronici. Dove si esegue? Excel gira in ambiente Windows. che cosa serve? Serve a realizzare tabelle numeriche. Videata iniziale

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

Test Excel conoscenze di Base

Test Excel conoscenze di Base Test Excel conoscenze di Base 1)Che tipo di barra ha un foglio di calcolo, che un elaboratore testi non ha? a. La barra dei menu b. La barra della formula c. La barra del titolo d. La barra della formattazione

Dettagli