17
Corso – Lezione 3

Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Corso – Lezione 3

Page 2: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Dove eravamo rimasti ..…Query di aggiornamento UPDATE

Page 3: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Facciamo alcune prove sull'uso di UPDATE

Page 4: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Unire dati tra tabelleSELECT INNER JOIN…

Page 5: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Facciamo alcune prove sull'uso di INNER JOIN

Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011

Page 6: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Query di aggiornamentoINSERT

La sintassi INSERT ci permette di inserire all'interno della tabella nuove informazioni (Record)

INSERT INTO <Tabella> VALUES <Campo1>=valore1, <Campo2>=valore2, .…

Page 7: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Facciamo alcune prove sull'uso di INSERT

mail='[email protected]'

Page 8: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Query di cancellazioneDELETE

Il comando DELETE serve a cancellare il contenuto di una tabella. Attenzione che se non mettiamo delle condizioni la tabella verrà svuotata senta possibilità di ripristino.

DELETE FROM <Tabella> WHERE <Condizione 1> AND/OR <Condizione2>, .…

Page 9: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Cancellare tabelle e databaseDROP

Il comando DROP serve a una tabella o un Database. Attenzione anche in questo case se cancelliamo non c'è possibilità di ripristino a meno di un Backup.

DROP TABLE <Tabella1>, <Tabella2>, …

DROP DATABASE <Nome del Database>

Page 10: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Ottimizzare l'OUTPUT delle SELECT con DISTINCT

Capita a volte che il risultato di una query resitiuisca record identici (questo perché nei campi estratti non c'è variazione di valori). In questo caso usando DISTINCT dopo SELECT il motore mostra un solo record togliendo le duplicazioni.

Page 11: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Facciamo alcune prove sull'uso del comando DISTINCT e su DELETE

Page 12: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento
Page 13: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Proviamo a fare il Backup del nostro database

Page 14: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Ottimizzazione Query via script

Page 15: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Ottimizzare il motore MySQL

Per avere un DB sempre in ottima forma oltre all'ottimizzazione delle tabelle da fare con regolarità (slide 14) dobbiamo anche fare in modo che il motore lavori il meno possibile accedendo al disco. In /etc/mysql/my.cfn dobbiamo cercare le direttive modificarle e riavviare il server.buffer_size per tabelle MyISAM →innodb_buffer_pool_size per Tabelle InooDB→I valori variano a seconda del carico comunque

Page 16: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Ottimizzare il motore MySQL

Un altra cosa da fare è impostare l'opzione query_cache_size a 0 in quanto la cache delle query potrebbe essere uno svantaggio sopratutto per gli applicativi che usano molto il DB. Conviene quindi gestire la velocità delle query in fase di progetto.

Page 17: Corso – Lezione 3SELECT INNER JOIN … Facciamo alcune prove sull'uso di INNER JOIN Comuni.Comune,Comuni.Provincia,Comuni.CAP,`CodFisco`,`Popolazione legale 2011 Query di aggiornamento

Grazie per l'attenzione

Domande?