L interfaccia a riga di comando di MySql



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

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

Introduzione a MySQL

MySQL Database Management System

Corso sul linguaggio SQL

MANUALE PARCELLA FACILE PLUS INDICE

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

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Esercizio data base "Biblioteca"

Corso sul linguaggio SQL

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Capitolo 13. Interrogare una base di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

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

Unità 2.1 Comandi sui database

Creazione manuale delle tabelle (mediante scrittura del codice SQL corrispondente)

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

L amministratore di dominio

MODULO 5 ACCESS Basi di dati. Lezione 4

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

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

1.0 GUIDA PER L UTENTE

File, Modifica, Visualizza, Strumenti, Messaggio

Le query. Lezione 6 a cura di Maria Novella Mosciatti

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

Il sistema C.R.M. / E.R.M.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Database 1 biblioteca universitaria. Testo del quesito

Invio SMS. DM Board ICS Invio SMS

DBMS (Data Base Management System)

Access. P a r t e p r i m a

Sviluppare un DB step by step

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

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

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

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

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

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

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

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

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

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

User Tools: DataBase Manager

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

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

Amministrare MySQL con PhpMyAdmin

Raggruppamenti Conti Movimenti

Laboratorio di Basi di Dati e Web

Mac Application Manager 1.3 (SOLO PER TIGER)

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento.

Introduzione ai database relazionali

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Come modificare la propria Home Page e gli elementi correlati

Esercizio sui data base "Gestione conti correnti"

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

19. LA PROGRAMMAZIONE LATO SERVER

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Esercizi su. Funzioni

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at] .

I DATABASE Database relazionale

Guida all uso di Java Diagrammi ER

POLIAGE GUIDA RAPIDA

Guida all installazione di Easy

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia

Lezioni di Laboratorio sui Data Base

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

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

FtpZone Guida all uso

Guida per la registrazione alla piattaforma di Gestione dei Corsi per il Consulente Tecnico Telematico

Volumi di riferimento

DOCUMENTO ESPLICATIVO

Introduzione. Alberto Fortunato Pag. 1 di 137

MODULO 5 Appunti ACCESS - Basi di dati

Database e reti. Piero Gallo Pasquale Sirsi

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

GateManager. 1 Indice. tecnico@gate-manager.it

MAGAZZINO FISCALE (agg. alla rel )

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

Guida all utilizzo. Rif. File: Pag. 1 / 14

Una piattaforma per creare blog, che utilizza il linguaggio PHP e si

Guida alla registrazione on-line di un DataLogger

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

COSTER. Import/Export su SWC701. SwcImportExport

Interrogare il database: lavorare con le query

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Introduzione alla teoria dei database relazionali. Come progettare un database

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore


Guido d uso sito internet Unione Valdera

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

MySQL Command Line Client: operazioni fondamentali

Installazione & Configurazione Php e MySQL su Mac Os X. Php

GERARCHIE RICORSIVE - SQL SERVER 2008

Transcript:

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 di MySQL è rappresentata da una semplice riga di comando... E' importante ricordare che, appena installato, MySQL ha un utente root - in grado dicompiere qualsiasi azione sul server - che può accedere senza inserire alcuna password. Quindi la prima cosa da fare adesso è quella di impostare una password per l'utente root, così: mysql -u root password "miapassword" Una volta assegnata una password a root il nostro sistema potrà dirsi pronto a lavorare. Per accedere all'interfaccia di MySQL sarà ora necessario inserire i dati di autenticazione(user e password) in questo modo: mysql -u root -p Il sistema ci chiederà quindi di inserire la password dopodichè avvierà la connessione all'interfaccia di amministrazione del server... Questo quello che vedrete sul vostro monitor: Ora è possibile impartire comandi al MySQL. Nelle prossime lezioni vedremo il funzionamento dei principali comandi offerti dal MySQL. Vi ricordo, infine, che terminato di lavorare è necessario disconnettersi digitando:quit Con quit l'interfaccia di MySQL si chiude e vi ritroverete nuovamente nella Shell 1

Creare il primo database In questa lezione della nostra guida vedremo come creare il nostro primo database MySQL. la prima cosa da fare, ovviamente, è autenticarsi all'interno di MySQL. Una volta loggati digitate: SHOW DATABASES; Questa istruzione dice al nostro DBMS di mostrare tutti i database esistenti. Avendo appena installato MySQL dovreste avere solo 2 database: Il database "mysql" contiene i privilegi di accesso degli utenti; il database "test" serve, invece, come db di prova. Creare un database MySQL Poniamo, tuttavia, di non voler utilizzare il db "test" ma di voler creare un nuovo database MySQL sul quale lavorare. Supponiamo di vole creare un DB per ospitare i dati di una ipotetica agenda. Creiamo quindi il nostro DB "agenda": CREATE DATABASE agenda; Come è facile intuire l'istruzione CREATE DATABASE crea un nuovo DB all'interno della nostra installazione di MySQL. Proviamo ora a ripetere il comando SHOW DATABASES... ecco il risultato: Dopo aver creato il nostro nuovo DB possiamo iniziare a lavorarci sopra... tuttavia, prima di poterlo usare, dobbiamo selezionarlo, così: USE agenda; Una volta selezionato potremo iniziare a lavorare sul nostro DB... non ci resta quindi che iniziare ad impartire le istruzioni SQL (INSERT INTO, SELECT, UPDATE, DELETE, ecc). 2

Cancellare un database MySQL Ritengo opportuno chiudere questa lezione illustrandovi l'operazione inversa a quella descritta: ovvero la cancellazione di un database. Eliminare un DB è operazione semplicissima: basta scrivere DROP DATABASE seguito dal nome del DB da rimuovere. Poniamo, ad esempio, di voler cancellare proprio il DB "agenda" appena creato: DROP DATABASE agenda; Per verificare l'esito dell'operazione digitate nuovamente SHOW DATABASES: se tutto è andato per il meglio il database agenda non dovrebbe più comparire. Nota: Come avrete notato ogni istruzione all'interno di MySQL termina con il punto e virgola (;)... ricordatevelo sempre! 3

Vedere le tabelle Una volta creato, il nostro database è (ovviamente) vuoto. Per averne la conferma - dopo aver selezionato il nuovo DB - digitate: SHOW TABLES; Il risultato dovrebbe essere: Empty set (0.00 sec). 4

Tipi di tabelle in MySQL Come detto MyISAM è l'engine di default, questo vuol dire che, se in fase di creazione di una tabella non viene esplicitamente specificato il tipo di engine, questo sarà di deafult MyISAM. Per specificare l'engine: CREATE TABLE nome_tabella (...) ENGINE = INNODB;Per ulteriori informazioni circa le differenze tra MyISAM e INNODB rimando a questo breve articolo presente su questo sito.a Creiamo la nostra prima tabella Vediamo quindi di creare la nostra prima tabella all'interno del database "agenda". Funzione di questa nostra tabella - che chiameremo "amici" - sarà quella di archiviare una serie di informazioni personali (nome, cognome, telefono) relative, appunto, ai nostri amici. Ecco come crearla: CREATE TABLE amici ( nome VARCHAR(20), cognome VARCHAR(20), telefono INT(10) ); Ora il nostro DB ha la sua prima tabella! Come, non ci credete? allora facciamo una prova... SHOW TABLES; Il risultato dovrebbe essere: 5

Describe, Drop e Show Ora facciamo un'altra verifica. Assicuriamoci che la struttura della tabella sia corretta:describe amici; Il risultato sarà un resoconto come questo : Come vedete, si tratta di un riepilogo dei campi della tabella e delle loro caratteristiche. Per terminare questa lezione vediamo l'operazione inversa alla creazione di tabella, la loro eliminazione. Se, ad es., volessimo eliminare la tabella appena creata faremmo così: DROP TABLE amici; Per verificare digitate nuovamente SHOW TABLES. 6

I tipi di dati di MySQL: MySQL dispone di vari tipi di dati che svolgono diverse funzioni. Ad ogni colonna di una tabella è associato un solo tipo d'informazione. Più precisamente possiamo dire che la tipologia di dati assegnata ad ogni colonna la definisce e la limita, nel senso che la colonna potrà validamente accettare solo dati corrispondenti al tipo assegnatole. Facciamo un esempio: la colonna "nome" della tabella "amici" creata nella passata lezione è di tipo VARCHAR(20): questo significa che la colonna ammette solo caratteri alfanumerici ed ha una lunghezza massima di 20 caratteri 7

I dati numerici Di seguito alcune tabelle riepilogative 8

Da precisare che FLOAT, DOUBLE e DECIMAL funzionano alla stessa maniera (varia unicamente la capacità, ovvero il range di valori ammessi). Come si vede dalla tabella questi tre tipi di dati prevedono un doppio valore tra parentesi: la I indica il numero di Interi ammessi, la D il numero di Decimali. Se ad es. passiamo il numero 12.345678 ad una colonna di tipo FLOAT(2,4), tale numero diverrà 12.3456 (inquanto si accettano 2 interi ma solo 4 decimali). Per concludere questa lezione sui tipi di dati nuerici dobbiamo menzionare i cd. modificatori: AUTO_INCREMENT - Aumenta automaticamente il valore di una colonna aggiungendo 1 al valore massimo. E' opportuno utilizzarlo in combinazione con NOT NULL. Può essere applicato a tutti i tipi numerici interi. UNSIGNED - un campo contrassegnato con UNSIGNED non accetta valori negativi ZEROFILL - viene utilizzato per inserire un numero preceduto da una quantità variabile di zeri in base all'ampiezza della colonna. Se per esempio si dichiara un campo INT(10) ZEROFILL e si desidera memorizzare il valore "1234", esso verrà salvato come "0000001234" Facciamo un esempio: poniamo di voler creare un preziario di una libreria: 9

Creare una tabella di esempio definendo il tipo di dato 10

I tipi di dati di MySQL: dati stringa Oltre ai tipi numerici, visti nella passata lezione, è necessario considerare i cd. tipi di dati stringa. Vediamoli in una tabella riepilogativa: Tipi di dati Stringa Differenza tra char e varchar 11

Altri tipi dati I tipi TEXT e BLOB (Binary Large OBject) consentono di memorizzare grandi quantità di dati. Per finire ritengo opportuno menzionare i modificatori che possono essere utilizzati con questi tipi di dati: BINARY - Può essere utilizzato con CHAR o VARCHAR DEFAULT - Può essere utilizzato con tutti i tipi di dati (anche quelli numerici) ad eccezzione di TEXT e BLOB. Serve per indicare il valore di default del campo. NULL / NOT NULL - Può essere utilizzato con tutti i tipi di dati (numerici e stringa) PRIMARY KEY - Può essere utilizzato con tutti i tipi di dati (numerici e stringa) UNIQUE - Può essere utilizzato con tutti i tipi di dati (numerici e stringa). Con UNIQUE si imposta una regola di unicità, questo significa che nessun dato contenuto nella colonna può essere ripetuto. Ogni dato deve, quindi, essere unico. 12

Interrogazione Client/Server Nelle passate lezioni abbiamo visto come creare database e tabelle ed i tipi di dati ammessi. Di seguito analizzeremo la procedura per l'accesso ai dati, procedura che, indipendentemente dalla piattaforma e dal linguaggio utilizzato, presenta caratteristiche di logica comune. Tale procedura è riassumibile nei seguenti step: 1) Connessione al DB 2) Interrogazione (Query) o Comando 3) In caso di Query -> ricevimento del Recordset e manipolazione dei dati 4) Chiusura della connessione Di seguito lo schema tradizionale di interrogazione Client/Server 13

Differenza tra Comando ed Interrogazione Da sottolineare il ruolo di primo piano ricoperto nella fase n.2 (interrogazione) dal linguaggio SQL (Structure Query Language). Grazie alle semplici istruzioni di SQL, infatti, è possibile compiere ogni tipo di operazione sul nostro database: estrarre, modificare, inserire dati e molto altro ancora. La differenza tra interrogazione e comando sta nell'emissione o meno di una risposta di ritorno. Esempi di comando possono essere INSERT INTO, UPDATE e DELETE; esempio tipico di interrogazione è SELECT che restituisce sempre, appunto, un set di risultati (recordset). In questa sede non ritengo opportuno ne tantomeno necessario affrontare sintassi, comandi e possibilità del linguaggio SQL per il quale rimando all'ottima guida a SQL scritta dal mio amico Luca Ruggiero. Vi ricordo che la conoscenza di SQL è condizione ineliminabile per un corretto e completo utilizzo di MySQL. 14

I tipi di dato DATA /1 Nelle lezioni riguardanti i tipi di dati ne abbiamo saltato (volutamente) un tipo molto importante: il tipo di dati correlati alla data. Tali tipi di dati sono molto utili quando si ha a che fare con informazioni riguardanti la data e lora. Di seguito una tabella riepilogativa: MySQL è molto generoso in merito alla gestione di date e orari... sono infatti davvero tante le funzioni interne che MySQL mette a nostra disposizione per trattare con questi tipi di dati. In questa sede non è certo possibile passarle in rassegna una ad una, ma ci limiteremo a vedere le più importanti e comunemente utilizzate: Tra queste sicuramente vanno menzionate le funzioni per l'ottenimento di data e ora corrente: NOW(), CURDATE() e CURTIME(). 15

I tipi di dato DATA /2 16

I tipi di dato DATA /3 Per finire una breve precisazione: quelle viste fin qui non sono che una piccola parte delle funzioni interne che MySQL prevede per la gestione di date e orari. Vi rimando quindi alla documentazione ufficiale per vedere le (tante) altre funzioni che, sono certo, vi torneranno spesso utili nello sviluppo di applicazioni pratiche. 17

Funzioni condizionali in MySQL: CASE, IF, IFNULL e NULLIF In questo articolo vedremo come utilizzare delle istruzioni condizionali all'interno delle nostre query MySQL. Il nostro scopo, in sostanza, sarà quello di "influenzare" una query sulla base che una data condizione sia vera oppure no. In sostanza faremo ricorso ad un costrutto di tipo IF che dovrebbe essere noto a chiunque abbia delle seppur minime conoscenze di programmazione. Il DBMS MYSQL supporta, a dire il vero, diverse funzioni per gestire le istruzioni condizionali che prendono il nome di Control Flow Functions (letteralmente: "funzioni per il controllo del flusso"). Queste funzioni sono: CASE IF() IFNULL() NULLIF() Vediamole nel dettaglio. 18

CASE Mediante il costrutto CASE... WHEN è possibile creare delle istruzioni condizionali piuttosto complesse prevedendo non solo un'unica condizione, ma una serie di condizioni alternative. Ad esempio: 19

http://www.mrwebmaster.it/mysql/funzioni-condizionali-mysql-case-if-ifnull-nullif_10760.html 20