Elaborazione Automatica dei Dati. MySQL. Enrico Cavalli. Anno Accademico MySQL(1)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elaborazione Automatica dei Dati. MySQL. Enrico Cavalli. Anno Accademico 2012-2013. MySQL(1)"

Transcript

1 Elaborazione Automatica dei Dati MySQL Enrico Cavalli Anno Accademico MySQL(1) MySQL è un DBMS Open Source prodotto da MySQL AB acquistato ora da Oracle. MySQL è realizzato in architettura Client/Server Client MySQL Server MySQL DB Il client dialoga con l utente, ne accetta i comandi che invia al server per l esecuzione e visualizza i risultati Il server è responsabile della gestione dei dati. Interagisce con il DB e invia i risultati al client che li visualizza Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 2

2 MySQL(2) Esistono diverse versioni di MySQL: 5.5. è, al momento, la versione in uso Versione 5: caratteristiche aggiuntive rispetto alla versione 4 Viste Logiche, Trigger, Stored Procedure, Stored Function La scelta dei progettisti di MySQL è stata di ottimizzarne la velocità anche rinunciando ad alcune caratteristiche possedute da altri SQL Il server supporta diversi client sia da linea comandi che grafici, per esempio: MySQL Workbench, MySQL Query Browser, MySQL Administrator phpmyadmin MySQL-Front Manuali e documentazione: fra le guide scegliere phpmyadminb Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 3 MySQL(3) Esecuzione di MySQL dalla linea comandi: C:\>mysql u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: log.. Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> HELP For the complete MySQL Manual online, visit: For server side help, type 'help contents mysql>... l elenco dei comandi lato client è riportato nella prossima diapositiva Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 4

3 Comandi MySQL lato client MySQL(4)? (\?) Synonym for `help'. clear (\c) Clear command. connect (\r) Reconnect to the server. delimiter (\d) Set query delimiter. ego (\G) Send command to the server, result shown vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. help (\h) Display this help. notee (\t) Don't write into outfile. print (\p) Print current command. prompt (\R) Change your mysql prompt. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute a SQL script file. File name as argument. status (\s) Get status information from the server. tee (\T) Set outfile. Append everything into given outfile. use (\u) Use another database. Database name as argument. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 5 MySQL(5) Guida in linea per i principali comandi: mysql> HELP CONTENTS You asked for help about help category: "Contents" For more information, type 'help <item>', where <item> is one of the following categories: Administration Column Types Data Definition Data Manipulation Functions Geographic features Transactions Attraverso successive richieste si identifica il comando per il quale si vogliono informazioni mysql> help date Name: 'DATE' Description: A date. The supported range is ' ' to ' '. MySQL displays DATE values in 'YYYY-MM-DD' format,... Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 6

4 MySQL(6) mysql> /******************************************************* mysql> * Questo è un commento su più righe mysql> *******************************************************/ mysql> mysql> -- Questo è un commento su una sola riga mysql> mysql> SELECT 3*4; -- SELECT usato come Print * mysql> SELECT VERSION(); -- Versione di MySQL mysql> SELECT CURDATE(); -- Data attuale mysql> SELECT NOW(); -- Data e ora attuali mysql> SELECT USER(); -- Utente connesso al server mysql> SELECT (5+8) -- Un comando può essere scritto su -> *12 -- più righe e deve terminare con -> ; -- il carattere ;. Calcola: (5+8)*12 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 7 MySQL(7) mysql> SHOW DATABASES; Database mysql test rows in set (0.00 sec) mysql> USE TEST; Database changed -- Elenca i database sul server Mysql e Test sono sempre presenti Test db per prove -- Test diventa db di default mysql> SHOW TABLES; Empty set (0.00 sec) mysql> QUIT; -- Elenca tabelle/viste in Test -- SHOW [FULL] TABLES; In Test non ci sono tabelle -- oppure EXIT: fine sessione Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 8

5 Identificatori e Files fisici in MySQL Identificatori in MySQL Tipo di identificatore Lunghezzamax Caratteri ammessi Database 64 Tabella 64 I caratteri ammessi dal S.O. per i nomi delle directory ad eccezione di \, / e. I caratteri ammessi dal S.O. per i nomi dei file ad eccezione di / e. Colonna 64 Tutti Indice 64 Tutti Alias 255 Tutti Per ogni database MySQL crea una directory con quel nome. Ogni tabella del db è rappresentata con un insieme di file che hanno per nome il nome della tabella e estensione: MYD (per i dati), MYI (per gli indici), FRM (per la struttura). Le viste logiche sono rappresentate con un solo file di estensione FRM. I trigger danno origine a un solo file con estensione TRG. Procedure e funzioni sono salvate nella tabella Proc del database Mysql. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 10

6 Tabelle, Viste, Routine, Trigger (1) Nel database StudFac ci sono le due tabelle Facolta e Studenti (di tipo MyIsam), le viste logiche Disponibilita,.., VistaDiProva e un certo numero di stored routine: FunQB,.., e un trigger. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 11 Tabelle, Viste, Routine, Trigger (2) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 12

7 Tabelle, Viste, Routine, Trigger (3) Nel database CollezioneMusicale ci sono tabelle di tipo InnoDB, oltre a viste procedure e trigger. Dati e indici di tabelle InnoDB sono salvati nel (default) file: Ibdata1 di: C:\... \MySQL\Data Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 13 Tabelle, Viste, Routine, Trigger (4) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 14

8 Tabelle, Viste, Routine, Trigger (5) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 15 Tipi di dati di MySQL

9 Interi in MySQL (1) Tipi interi Limiti Note TINYINT(M) BOOLEAN SMALLINT(M) Interi con 1 byte (0..255) se UNSIGNED Sinonimo di TINYINT. 0 Falso. Ogni altro valore Vero Interi con 2 byte ( ) se UNSIGNED INT(M) INTEGER(M) (2 31-1) Interi con 4 byte ( ) se UNSIGNED BIGINT(M) (2 63-1) Interi con 8 byte ( ) se UNSIGNED C è anche un tipo MEDIUMINT che usa 3 byte e quindi... I valori logici True e False possono essere manipolati algebricamente. MySQL dispone di un ampia libreria di funzioni: DIV, MOD, ABS, POW, SQRT,... Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 17 Interi in MySQL (2) mysql> SELECT TRUE, FALSE, TRUE*2.5, FALSE-2; TRUE FALSE TRUE*2.5 FALSE mysql> SELECT 5/2, 5 div 2, 5 % 2; /2 5 div 2 5 % mysql> SELECT Floor(2.6),Ceiling(2.6),Round(2.6),Truncate(2.6,0); Floor(2.6) Ceiling(2.6) Round(2.6) Truncate(2.6,0) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 18

10 Reali in MySQL Tipi reali FLOAT(M,D) Limiti in valore assoluto E E+38 Note Rappresentazione in virgola mobile con 4 byte. Permette di rappresentare i valori reali con precisione massima di 7 cifre decimali (M <=7) DOUBLE PRECISION(M,D) E E-308 Rappresentazione in virgola mobile con 8 byte. Permette di rappresentare i valori reali con la precisione massima di 15 cifre decimali (M <=15) DECIMAL(M,D) NUMERIC(M,D) DECIMAL DECIMAL(M) Dipende da M e D Rappresentazione in virgola fissa con M cifre decimali di cui D per la parte frazionaria. Rappresentazione esatta. Memorizza i dati occupando M+2 byte Equivale a DECIMAL(10,0) Equivale a DECIMAL(M,0) Con le seguenti limitazioni: D <= M-2, D <= 30. Nel caso delle rappresentazioni in virgola fissa deve valere anche M <= 64 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 19 Date in MySQL(1) Tipi data/ora Limiti della rappresentazione Note DATE TIME -838:59: :59:59 Data nella forma aaaa-mm-gg memorizzata in 3 byte Ora nella forma hh:mm:ss memorizzata in 3 byte DATETIME YEAR YEAR(2) YEAR(4) TIMESTAMP :00: :59: ( ) :00:00 sino al 2037 Data ed ora memorizzati in 8 byte Anno memorizzato in 1 byte. Rappresentabile come valore numerico o come stringa. I campi di tipo TIMESTAMP sono utili per memorizzare data ed ora dell inserimento o dell aggiornamento di un record. Memorizzato in 4 byte Rappresentazioni equivalenti a: ' :05:25' '2006/12/25 14;05;25 ' ' Come valore numerico: Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 20

11 Date in MySQL(2) mysql> SELECT CURDATE(); ' mysql> SELECT CURDATE() + 0; mysql> SELECT CURTIME(); '23:50:26' mysql> SELECT CURTIME() + 0; mysql> SELECT Dayofyear(' '); 325 mysql> SELECT Day(' ') as Giorno, -> Monthname(' ') as Mese, -> Year(' ') as Anno; mysql> SELECT LAST_DAY(' '); ' ' mysql> SELECT LAST_DAY(' '); ' ' mysql> SELECT LAST_DAY(' :01:01'); ' ' SELECT Datediff(' ', ' '); 44 SELECT Date_Add(' ', Interval 3 month); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 21 Date in MySQL(3) mysql> SELECT MAKEDATE(2001,32); mysql> SELECT MAKEDATE(2001,365); mysql> SELECT MAKETIME(12,15,30); ' ' ' ' '12:15:30' mysql> SELECT NOW(); :50:26' mysql> SELECT NOW() + 0; mysql> SELECT DAY(NOW()), MONTH(NOW()),YEAR(NOW()); mysql> SELECT HOUR(NOW()), MINUTE(NOW()),SECOND(NOW()); mysql> SELECT DAYNAME(NOW()); mysql> SELECT NOW(), DATE(NOW()), TIME(NOW()), WEEK(NOW()); -- Confronto di date mysql> SELECT TRUE,FALSE,'12-17'>'12-05','10-05'>'11-21'; TRUE FALSE '12-17'>'12-05' '10-05'>'11-21' Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 22

12 Date in MySQL(4) Altre funzioni utili: DATE_FORMAT(data,formato) FROM_DAYS(intero) TO_DAYS(data); vedi manuale restituisce una data restituisce un intero intero rappresenta il numero di giorni trascorsi a partire dall anno 0 (ma significativo solo a partire dal 1582, avvento del calendario gregoriano) mysql> SELECT TO_DAYS(' '), 1582* /4; TO_DAYS(' ') 1582* / row in set (0.00 sec) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 23 Stringhe in MySQL(1) Tipo Stringa Limiti Note CHAR ( M ) CHARATCTER ( M ) VARCHAR ( M ) BINARY ( M ) VARBINARY ( M ) TEXT M = M = M = ver. 4 M = M = Fino a caratteri Stringhe a lunghezza fissa, non case sensitive, riempite con spazi. M byte Stringhe a lunghezza variabile, non case sensitive Occupano M + 1 byte Stringhe di tipo CHAR(M), VARCHAR(M) case sensitive Coincide con VARCHAR ( ) Occupa M+2 Byte BLOB Fino a byte E un TEXT case sensitive ENUM ( V1,.., Vn ) SET ( V1,.., Vn ) Fino a valori Fino a 64 valori Un dato di tipo ENUM assume un solo valore tra quelli elencati; occupa fino a 2 bytes Un dato di tipo SET è un qualsiasi insieme di valori tra quelli elencati; occupa fino a 8 bytes Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 24

13 Stringhe in MySQL(2) \0 Il carattere vuoto (Ascii 0) \' L apice. \ Il doppio apice. \b Ritorna di un carattere (backspace) \n Nuova riga (linefeed) \r Ritorno del carrello \t Tabulazione (tab) Sequenze di ESCAPE riconosciute da MySQL nelle stringhe di caratteri per rappresentare caratteri speciali \Z (Control Z) \\ Il carattere \ (backslash) \% Il carattere percentuale \_ Il carattere di sottolineatura. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 25 Stringhe in MySQL(3) Il tipo ENUM ammette un insieme di valori ammissibili massimo di valori ENUM('one', 'two', 'three') Valore Indice NULL NULL '' 0 'one' 1 'two' 2 'three' 3 In assenza della dichiarazione NOT NULL, il valore NULL è ammesso; se c è la dichiarazione NOT NULL il valore di default è 'one'. Il tipo SET ammette insiemi formati da 0 fino a 64 valori SET ('a', 'b', 'c', 'd') Elemento Valore Binario 'a' 'b' 'c' 'd' Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 26

14 Stringhe in MySQL(4) mysql> CREATE TABLE TabellaDiInsiemi ( -> Colonna SET('a','b','c','d') ); mysql> INSERT INTO TabellaDiInsiemi VALUES -> ('a,b,c'), -> ('b,c'), -> ('b,b,c'), -> ('a,d'), -> ('d,a'), -> ('d,d,a'), -> (''), -> (\N), -> ('d,c'); mysql> SELECT Colonna, Colonna+0 -> FROM TabellaDiInsiemi; Colonna Colonna a,b,c 7 b,c 6 b,c 6 a,d 9 a,d 9 a,d 9 0 NULL NULL c,d Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 27 Stringhe in MySQL(5) mysql> SELECT ASCII('A'); 65 mysql> SELECT CHAR(65,65,77,77.3,'76'); 'AAMML' mysql> SELECT CONCAT('Pippo', ' ', 'Pluto'); 'Pippo Pluto' mysql> SELECT CONCAT_WS( -', AA, BB ); AA-BB' mysql> SELECT LEFT( stringa di car,3) mysql> SELECT RIGHT( stringa di car,5) mysql> SELECT MID( Stringa di car,5,3); mysql> SELECT SUBSTRING( Stringa di,2,3); mysql> SELECT REVERSE( Stringa ); str i car nga tri agnirts mysql> SELECT LOWER( Enrico ); enrico mysql> SELECT UPPER( Cavalli ); CAVALLI mysql> SELECT TRIM( Enrico ); Enrico mysql> SELECT REPEAT( W,3); WWW mysql> SELECT LENGTH( Stringa di ); 10 mysql> SELECT LOCATE( a, la mamma, 3); 5 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 28

15 Esempio con stringhe e date (1) Erica è nata il 21 novembre Quanti anni aveva il 12 ottobre 2000? -- Prima soluzione approssimata, spesso imprecisa SELECT Year(' ') - Year(' '); -- Espressione che considera il mese e il giorno -- restituisce 1 prima del 21 novembre e -- restituisce 0 dopo il 21 novembre mysql> SELECT Right(' ',5) < Right(' ',5); Right(' ',5) < Right(' ',5) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 29 Esempio con stringhe e date (2) -- Soluzione esatta mysql> SELECT Year(' ') - Year(' ') - -> ( Right(' ',5) < Right(' ',5) ) -> AS Età di Erica ; Età di Erica Età di Erica oggi mysql> SELECT Year(Curdate()) - Year(' ') - -> ( Right(Curdate(),5) < Right(' ',5) ) -> AS Età di Erica ; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 30

16 Esercizi (1) Si consideri il database dei conoscenti: Rubrica(Nome,Cognome,Nascita,Indirizzo,Telefono) 1. Elencare i conoscenti che compiono gli anni il prossimo mese 2. Elencare i conoscenti che compiono gli anni la prossima settimana 3. Elencare i conoscenti che compiono gli anni nei prossimi tre giorni 4. Elencare i conoscenti maggiorenni 5. Elencare i bambini con meno di 10 anni 6. Individuare i conoscenti che, nell anno corrente, compiono gli anni di domenica Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 31 Esercizi (2) 7. Elencare i conoscenti che non hanno ancora compiuto gli anni e il numero di giorni che mancano al rispettivo genetliaco 8. Elencare i conoscenti con Nome, Cognome, Prefisso, NumTelefono 9. Elencare i conoscenti con NomeCompleto e indirizzo 10. Elencare i conoscenti con NomeCompleto, ViaNumero, Città 11. Elencare i conoscenti che risiedono a Bergamo 12. Elencare i conoscenti che risiedono in provincia di Torino 13. Elencare i conoscenti con CAP del tipo 203XX 14. Elencare i conoscenti con le informazioni su ViaNumero, CodicePostale, Città, Provincia in colonne separate 15. Preparare un elenco con le informazioni necessarie per le spedizioni (NomeCompleto, ViaNumero, CodicePostale, Citta) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 32

17 Esercizi (3) Esercizio di discreta utilità pratica è quello di costruire funzioni per visualizzare le date con formati italiani: Giorno ( Data ) Nome giorno in italiano Mese (Data) Nome mese in italiano ItalData ( Data ) Lunedì, 4 ottobre 1492 ItalData (Data, Par) Lunedì, 4 ottobre ottobre Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 33 SQL come DDL in MySQL Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 34

18 Creazione di un database con MySQL (1) Database per gestire una collezione di dischi e cassette musicali Artista IDArtista Nome Genere Note {PK} Brano 1 N N 1 Eseguire IDBrano {PK} TitoloBrano Genere DurataBrano Dimensione Posizione Osservazioni Contenere Registrazione IDRegistrazione {PK} TitoloAlbum EtichettaAlbum TipoAlbum DurataMassima Capacita DataAggiornamento Note Artisti ( IDArtista, Nome, Genere, Note ) Registrazioni ( IDRegistrazione, TitoloAlbum, EtichettaAlbum, TipoAlbum, DurataMassima, Capacità, DataAggiornamento, Note ) Brani ( IDBrano, TitoloBrano, Genere, DurataBrano, Dimensione, Posizione, Osservazioni, IDArtista, IDRegistrazione ) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 35 Creazione di un database con MySQL (2) mysql> CREATE DATABASE CollezioneMusicale; mysql> USE CollezioneMusicale; mysql> CREATE TABLE Artisti ( -> IDArtista INT UNSIGNED NOT NULL AUTO_INCREMENT -> PRIMARY KEY, -> Nome VARCHAR(50) NOT NULL, -> Genere VARCHAR(10), -> Noter VARCHAR(255) ); mysql> CREATE TABLE Registrazioni ( -> IDRegistrazione INT UNSIGNED NOT NULL AUTO_INCREMENT, -> TitoloAlbum VARCHAR(50) NOT NULL, -> EtichettaAlbum VARCHAR(20), -> TipoAlbum VARCHAR(10), -> DurataMassima INT UNSIGNED DEFAULT 1, -> Capacita INT UNSIGNED DEFAULT 1, -> DataAggiornamento DATE, -> Note VARCHAR(255), -> PRIMARY KEY (IDRegistrazione) ); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 36

19 Creazione di un database con MySQL (3) mysql> CREATE TABLE Brani ( -> IDBrano INT UNSIGNED NOT NULL AUTO_INCREMENT, -> TitoloBrano VARCHAR(50) NOT NULL, -> Genere VARCHAR(10), -> DurataBrano FLOAT(5,2) UNSIGNED DEFAULT 4, -> Dimensione INT UNSIGNED, -> Posizione SMALLINT UNSIGNED, -> Osservazioni VARCHAR(255), -> IDArtista INT UNSIGNED, -> IDRegistrazione INT UNSIGNED, -> PRIMARY KEY (IDBrano) -> ); AUTO_INCREMENT: intero progressivo automatico PRIMARY KEY ( Col1, Col2 ) mysql> DESCRIBE Artisti; Field Type Null Key Default Extra IDArtista int(10) unsigned PRI NULL auto_increment Nome varchar(50) Genere varchar(10) YES NULL Noter varchar(255) YES NULL Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 37 Creazione di un database con MySQL (4) mysql> CREATE TEMPORARY TABLE Tabella ( DefinizioneColonne ); mysql> DROP DATABASE NomeDataBase; mysql> DROP TABLE NomeTabella; mysql> ALTER TABLE NomeTabella DROP NomeColonna ADD NomeColonna DefizioneColonna CHANGE VecchioNome NuovoNome Definizione; Cambiamento di nome alla colonna Noter -- La colonna Genere passa da 10 a 20 caratteri --- mysql> ALTER TABLE Artisti CHANGE Noter Note VARCHAR(255), -> CHANGE Genere Genere VARCHAR(20); Definizione di indici --- mysql> CREATE [ UNIQUE ] INDEX NomeIndice ON NomeTabella ( Colonna [,Colonna] ); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 38

20 Creazione di un database con MySQL (5) -- Costruzione di un indice su Genere di Brani mysql> CREATE INDEX ind_genere ON Brani (Genere); mysql> DESCRIBE Brani Genere; Field Type Null Key Default Extra UNIQUE Genere varchar(10) YES MUL NULL indice con le caratteristiche di una chiave -- Indice senza duplicati su CodiceFiscale di Studenti mysql> CREATE UNIQUE INDEX ind_codfis ON Studenti(CodiceFiscale); mysql> DESCRIBE Studenti CodiceFiscale; Field Type Null Key Default Extra CodiceFiscale varchar(16) UNI Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 39 Creazione di un database con MySQL (6) -- Genere di Artisti campo di tipo ENUM mysql> ALTER TABLE Artisti CHANGE Genere Genere -> ENUM('Pop','Rock','Rap','Opera','Country','Jazz'); -- INSERT per inserire dati in una tabella mysql> INSERT INTO NomeTabella [ ElencoCampi ] VALUES -> ( ElencoValori) [,..., ( ElencoValori )]; -- Inserimento dati nella tabella Artisti mysql> INSERT INTO Artisti VALUES -> (null, 'Pierre Borg', 'Pop', ''), -> (null, 'Anatolia', 'Rock', ''); -> (3,'The Bees', 'Rap', ''), -> (\N,'Golden Eagles', 'Pop', ''); I campi di tipo data e le stringhe di caratteri vanno delimitati con apici o doppi apici Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 40

21 Creazione di un database con MySQL (7) -- Un artista di genere non previsto in ENUM mysql> INSERT INTO Artisti (Nome, Genere, Note) VALUES -> ('Nuovo Artista1', 'Dance','Artista genere Dance'), -> ('Nuovo Artista2', 'pop','artista pop'); Query OK, 2 rows affected, 1 warning (0.00 sec) mysql> SELECT * FROM Artisti; Al posto di Dance IDArtista Nome Genere Note viene immessa la stringa nulla. 1 Pierre Borg Pop Al posto di pop 2 Anatolia Rock compare Pop 3 The Bees Rap 4 Golden Eagles Pop Nuovo Artista1 Artista genere Dance 10 Nuovo Artista2 Pop Artista pop Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 41 Creazione di un database con MySQL (8) La definizione del database e delle tabelle si effettua anche MySQL Query Browser o con PHPMyAdmin. Entrambi i sistemi eseguono le operazioni e visualizzano il codice SQL eseguito Nel libro: MySQL e database in rete MySQL Query Browser: da pagina 123 PHPMyAdmin da pagina 203 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 42

22 Esercizi Si consideri il database CollezioneMusicale. Dopo ogni esercizio controllare l effetto dei comandi eseguiti con il comando DESCRIBE. 1. Creare il database CollezioneMusicale e le tabelle Artisti, Registrazioni e Brani, definendo le chiavi primarie per le tre tabelle 2. Modificare le precedenti definizioni per dichiarare che i campi Genere delle tabelle Artisti e Brani sono di tipo Enum 3. Creare indici sul campo Nome di Artisti, TitoloBrano di Brani e TitoloAlbum di Registrazioni 4. Rinominare il campo TitoloBrano di Brani in Titolo e TitoloAlbum di Registrazioni in NomeAlbum 5. Eliminare i campi Osservazioni e Note dalle tabelle Brani e, rispettivamente, Registrazioni. Ricreare le colonne eliminate nelle due tabelle 6. Usando il comando INSERT popolate ogni tabella con cinque righe Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 43 SQL come DML in MySQL Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 44

23 Manipolazione di tabelle (1) INSERT: inserisce righe in una tabella INSERT INTO TabellaEsistente VALUES ( Valori ),.., ( Valori ); INSERT INTO TabellaEsistente SELECT...; CREATE TABLE Tabella SELECT...; UPDATE: modifica uno o più campi in una tabella UPDATE Tabella SET Colonna1 = Espressione1,... WHERE Condizione; DELETE: elimina righe da una tabella DELETE FROM Tabella WHERE Condizione; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 45 Manipolazione di tabelle (2) IDArtista Nome Genere Note Pierre Borg Pop 2 Anatolia Rock 3 The Bees Rap 4 Golden Eagles Pop Nuovo Artista 1 Artista.. TRIM elimina gli spazi 10 Nuovo Artista 2 Pop Artista iniziali e finali di una mysql> UPDATE Artisti stringa -> SET Nome = TRIM(Nome); Query OK, 2 row affected (0.40 sec) Rows riconosciute: 6 Cambiate: 2 Warnings: 0 mysql> UPDATE Artisti -> SET Genere = 'Country' -> WHERE IDArtista = 7; mysql> DELETE FROM Artisti -> WHERE Note <> ''; mysql> DELETE FROM Artisti -- Comando equivalente -> WHERE IDArtista >= 9; -- al precedente Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 46

24 Manipolazione di tabelle (3) mysql> DELETE -> FROM Artisti; -- svuota la tabella Artisti mysql> TRUNCATE Artisti; -- equivalente al precedente \N;"Oxford road";"orange";"lp";48;1; ;\n \N;"Mixed songs: raccolta";\n;"nastro";120;1; ;\n \N;"Don't hurt her";"blue disc";"cd-rom";70;1; ;\n \N;"Best of winter";\n;"cd-rw";1;665600; ;\n LOAD DATA INFILE per caricare dati da un file testo Dati contenuti nel file: D:\PhpMySqlDati\Registrazioni.txt -- Si notino: separatori, delimitatori, a capo -- le date senza delimitatori, i valori nulli mysql> LOAD DATA INFILE 'D:\\PhpMySqlDati\\Registrazioni.txt' -> INTO TABLE Registrazioni -> FIELDS TERMINATED BY';' -> ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n'; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 47 Manipolazione di tabelle (4) LOAD DATA INFILE è utile per trasferire dati da un database ad un altro. Esempi: Esportare dati da Access in un file di testo e poi importarli in MySQL con il comando LOAD DATA INFILE Esportare dati da una tabella di un certa versione di MySQL e poi importarla in un altro database con una differente versione di MySQL Trasferire dati tra tabelle MySQL in differenti installazioni Per esportare dati da una tabella MySQL in un file di testo c è un programma di utilità di nome mysqldump ( Si veda il manuale in linea al paragrafo 8.13 ) mysqldump A A Database Backup Backup Program Program =========================================== The The `mysqldump' client client can can be be used used to to dump dump a a database or or a a collection of of databases for for backup backup or for for transferring the the data data to to another another SQL SQL server server (not (not necessarily a MySQL a MySQL server). Meglio usare MySQL Query Browser (vedi pagina 140) o PhpMyAdmin (vedi pagina 218) per esportare i dati in un file di testo Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 48

25 Manipolazione di tabelle (5) IDArtista Nome Genere Note Pierre Borg Pop 2 Anatolia Rock 3 The Bees Rap 4 Golden Eagles Pop 5 Argolide Rock 6 Heavy Stones Opera 7 Steve Martin Country ArtistiPreferiti tabella con artisti di genere Rock o Pop mysql> CREATE TABLE ArtistiPreferiti -> SELECT * FROM Artisti -> WHERE Genere = 'Pop' or Genere = 'Rock'; ArtistiPreferiti con CREATE TABLE e INSERT INTO TABLE mysql> CREATE TABLE ArtistiPreferiti -> SELECT * FROM Artisti -> WHERE Genere = 'Pop'; mysql> INSERT INTO ArtistiPreferiti -> SELECT * FROM Artisti -> WHERE Genere = 'Rock'; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 49 Esercizi Si suppone che il database CollezioneMusicale contenga almeno 5 righe per ogni tabella che lo compone. Provvedete a inserirle con il comando INSERT. Dopo ogni esercizio controllare l effetto dei comandi eseguiti. 1. Usate il comando DELETE per eliminare tutte le righe introdotte nella tabella Brani 2. Usate il comando DELETE per cancellare le righe con ID = 1 e 2 nella tabella Registrazioni 3. Usate il comando TRUNCATE per cancellare tutte le righe dalle tabelle Registrazioni e Artisti 4. Usate il comando LOAD DATA INFILE per popolare le tabelle del database con i dati contenuti nei file Artisti.txt, Registrazioni.txt, Brani.txt che troverete nello spazio riservato al corso 5. Usate il comando UPDATE per eliminare gli spazi inutili dai nomi dei brani 6. Inserite una riga per Artisti con il campo Genere contenente un valore non previsto per il tipo del campo 7. Create una tabella temporanea con i brani di genere Pop oppure Rock Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 50

26 Il comando SELECT (1) SELECT Colonna1, Colonna2,... FROM Tabella1, Tabella2,... WHERE CondizioniSulleRighe GROUP BY Colonna-e HAVING CondizioniSuiRaggruppamenti ORDER BY Col1 [ASC, DESC], Col2 [ASC, DESC],.. LIMIT NumeroRighe ; FROM R CROSS JOIN S FROM R JOIN S ON Condizione FROM R JOIN S USING (Colonna) FROM R NATURAL JOIN S FROM R LEFT JOIN S ON.. FROM R RIGHT JOIN S ON.. Rand() LIMIT 5 -- mostra solo 5 righe LIMIT 1,3 - mostra le righe 2,3,4 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 51 Il comando SELECT (2) Congiunzione tra Artisti e Brani sul campo IDArtista mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti A, Brani B -> WHERE A.IDArtista = B.IDArtista; mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti A JOIN Brani B ON A.IDArtista = B.IDArtista; mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti JOIN Brani B USING(IDArtista); mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti NATURAL JOIN Brani B; Attenzione! -- Il JOIN precedente equivale a: mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti JOIN Brani B USING(IDArtista, Genere); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 52

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

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

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

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

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

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

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

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

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

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

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

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

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

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO

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

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

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

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

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

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

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

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

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

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

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

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

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

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

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

Dettagli

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

Basi di Da( MySQL & MySQL Workbench. Anna Monreale Basi di Da( MySQL & MySQL Workbench Anna Monreale MySQL MySQL è un DBMS gratuito ed open- source (h@p://www.mysql.com) MySQL può essere uilizzato in Windows, Linux, MacOS X. MySQL è un RDBMS (relaional

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

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

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

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

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 MySQL La pronuncia ufficiale è MY- S- Q- L ma si può leggere anche MY- Sequel. MySQL è il secondo RDBMS più diffuso al mondo. OpenSource sono licenza GPL Scelto

Dettagli

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date; CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione

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

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

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

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

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

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

Dettagli

----------------------------------------------------------------------------

---------------------------------------------------------------------------- APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Facoltà Procedura descritta qui: http://ccib.ing.unibo.it/content/account

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

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

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

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

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Il BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak

Il BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak ESEMPIO DELLE VENDITE: MISURE ED AGGREGABILITA E l esempio discusso nelle dispense è Dispense : http://www.dbgroup.unimo.it/sia/sia_2014_progettazionediundw_misure.pdf esteso e dettagliato. Il BACKUP è

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE SQL e ACCESS Prof. Salvatore Multazzu (salvatoremultazzu@tiscali.it) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)

Dettagli

Basi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1.

Basi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1. Università di Modena e Reggio Emilia Basi di dati (6) Docente: andrea.bulgarelli@gmail.com Argomento: T-SQL (1.0) 1 Panoramica T-SQL Variabili Controllo di flusso Trattamento errori Print Operatori e funzioni

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3 Lo Standard SQL Il linguaggio SQL è un linguaggio non procedurale (o di tipo dichiarativo), divenuto, ormai da tempo, il linguaggio

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

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

Unità 2.1 Comandi sui database

Unità 2.1 Comandi sui database (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Linguaggi ospite Domini predefiniti Comando CREATE DATABASE Comando DROP DATABASE Comando SHOW DATABASES Comando SELECT DATABASE()

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

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

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

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli

Basi di dati e sistemi informativi I

Basi di dati e sistemi informativi I Basi di dati e sistemi informativi I mod. laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, 11 marzo 2015 Soluzione 1, creazione CREATE TABLE Impiegato ( Cod NUMBER(4),

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

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi per la Gestione dei Dati (lezioni di laboratorio) Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Anno Accademico 2005/06 Metodi per la Gestione dei Dati

Dettagli

Data warehouse in Oracle

Data warehouse in Oracle Data warehouse in Oracle Viste materializzate ed estensioni al linguaggio i SQL per l analisi li i dei dati presenti nei data warehouse Estensioni al linguaggio SQL per l analisi dei dati presenti nei

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

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