Corso di formazione MySQL – Creazione tabelle

mysql-logo

In questa sezione del corso di formazione mysql esploreremo i comandi MySQL per creare le tabelle del database (table) e come selezionare il database su cui lavorare.

I database memorizzano i dati dentro le tabelle. Ma cosa sono queste tabelle?
In termini più semplici le tabelle sono dei contenitori di dati, divise per righe e colonne. Ogni colonna definisce (e contiene) i dati di un tipo particolare. Le righe contengono i singoli record.
Consideriamo la tabella seguente:

Nome Età Nazione Email
Giulio Cesare 28 Italia cesare@imperoromano.com
John Doe 32 Australia j.dow@nowhere.com
John Wayne 48 U.S.A. jw@oldwesterns.com
Alessandro 19 Grecia alex@conquistatore.com

La tabella qui sopra contiene quattro colonne che memorizzano il nome, l’età, paese e indirizzo email. Ogni riga contiene i dati di un individuo. La riga è quello che chiamiamo un record. Per trovare il paese ed e-mail di Alessandro, devi prima scegliere il nome dalla prima colonna e poi guardare nella terza e quarta colonna della stessa riga.

Una tabella di un database funziona esattamente nello stesso modo. Sono le tabelle che contengono i dati che vogliamo memorizzare. Un database può avere diverse tabelle. Si creano diverse tabelle in modo da separare i dati a seconda del loro utilizzo, relazionando le tabelle tra di loro (questo lo vedremo in dettaglio più avanti). Nel nostro database dipendenti creeremo due tabelle. Avremo una tabella che memorizza i dati aziendali dei dipendenti. L’altra tabella conterrà le informazioni personali. Creiamo la prima tabella.

Il comando SQL per la creazione di tabelle appare complesso quando si visualizza per la prima volta. Non ti preoccupare se ti sembra complicato, ne parleremo più in dettaglio nelle sessioni successive.

Nota: In MySQL, comandi e nomi delle colonne non sono case-sensitive; Tuttavia, i nomi delle tabelle e dei database potrebbero essere sensibili al maiuscolo o minuscolo a seconda della piattaforma (come in Linux). È possibile, quindi, utilizzare “create table” invece di “CREATE TABLE“.

Le parole chiave CREATE TABLE sono seguite dal nome della tabella che vogliamo creare, dati_dipendente. Ogni riga all’interno delle parentesi rappresenta una colonna. Queste colonne memorizzano l’ID dipendente, nome, cognome, titolo, l’età, gli anni di lavoro con la società, lo stipendio, premi e e-mail dei nostri dipendenti e vengono dati dei nomi descrittivi che sono rispettivamente: dip_id, nome, cognome, titolo, eta, alav, stipendio, premio e email.

Ogni nome colonna è seguito dal tipo di colonna. I tipi di colonna definiscono il tipo di dati che la colonna è impostata per contenere. Nel nostro esempio le colonne nome, cognome, titolo e email conterranno stringhe di testo, così impostiamo il tipo di dato VARCHAR, che significa caratteri variabili (variable characters). Il numero massimo di caratteri per le colonne varchar è specificato da un numero racchiuso tra parentesi subito dopo il nome della colonna.

Le colonne eta, alav, stipendio e premio conterranno numeri (interi), così impostiamo il tipo di dato INT.

La nostra prima colonna (dip_id) contiene l’ID del dipendente. Non sembra come le altre, vero? Esaminiamola a pezzi:

int: specifica che il tipo di colonna è un numero intero (un numero).

unsigned: stabilisce che il numero sarà unsigned, senza segno (intero positivo, sono esclusi i numeri negativi).

not null: specifica che il valore non può essere nullo (vuoto); Cioè, ogni riga della colonna deve avere un valore.

auto_increment: Quando MySQL si imbatte in una colonna con un attributo auto_increment genera un nuovo valore che è superiore di un’unità rispetto al valore più grande, esistente nella colonna. Quindi, non abbiamo bisogno per fornire i valori per questa colonna, MySQL li genera per noi. Inoltre, ne consegue che ogni valore in questa colonna sarebbe unico. (Discuteremo i vantaggi di avere valori univoci molto presto).

primary key: aiuta a indicizzare la colonna, cosa che rende le ricerche più veloci. In una primary key ogni valore deve essere unico.

Perché avere una colonna con valori unici?

La nostra azienda Bigcompany è cresciuta enormemente negli ultimi due anni. Sono stati assunti migliaia di dipendenti. Non pensi che ci sia una buona probabilità che due dipendenti possano avere lo stesso nome? Ora, quando ciò accade, come possiamo distinguere i record di questi due dipendenti a meno che non diamo loro numeri di identificazione unici? Certo, potremmo utilizzare i codice fiscale, ma la cosa più semplice è usare un numero unico per distinguere i due record. E il modo migliore per assegnare numeri unici è quello di lasciare MySQL farlo.

utilizzre un database

Abbiamo già creato il nostro database di dipendenti. Ora lanciamo il programma client mysql e selezioniamo il nostro database. Una volta al prompt mysql, lanciamo il comando:

Il sistema risponde con:

Quanto sopra dimostra che non è stato selezionato alcun database. In realtà, ogni volta che lavoriamo con il client mysql, dobbiamo specificare quale database si prevede di utilizzare. Ci sono diversi modi per farlo.

Specificare il nome del database alla partenza

Digita quanto segue alla partenza del client mysql:

Specificare il database con l’istruzione USE al prompt di MySQL:

A questo punto, dando il comando SELECT DATABASE(); otterremo:

Indicare il nome del database su cui vogliamo lavorare è un passo necessario, altrimenti MySQL genererà un errore.

creazione di tabelle

Una volta selezionato il database dipendenti, diamo il comando CREATE TABLE al prompt mysql:

Nota: Quando si preme il tasto Invio dopo aver digitato la prima linea, mysql mostra nelle righe successive il prompt “->“. Ciò significa che mysql capisce che il comando non è completo e richiede istruzioni aggiuntive. Ricorda, ogni comando mysql termina con un punto e virgola e ogni dichiarazione colonna è separato da una virgola. Inoltre, è possibile digitare l’intero comando su una riga se lo desidera.

Il tuo schermo dovrebbe essere simile a:

Il punto e virgola finale comunica a mysql che abbiamo finito di scrivere il comando. Così mysql esegue quanto abbiamo scritto, e crea la tabella. La corretta esecuzione del comando ci viene confermata dalla parola OK presente sull’ultima riga. Benissimo, abbiamo appena creato la nostra prima tabella.

Tags:

About the Author

Post a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Top