Principali Comandi Mysql

I principali comandi per la gestione di un database relazione tramite il linguaggio di programmazione Mysql. Le parole chiave necessarie e la sintassi da rispettare.

Lista dei principali comandi da utilizzare dal prompt di Mysql.

  • Create
  • Show
  • Describe
  • Drop
  • Alter table
  • Insert into
  • Update
  • Delete
  • Truncate
  • Select
  • Order by
  • Limit
  • Like
  • In
  • Funzioni: Sum, AVG, Count, MAX, MIN
  • Group by
  • Having
  • Join
  • Tipi di campi: int, decimal, varchar, text, date, time ecc.
  • Constraints: primary key, foreign key, unique, not null, default, index
  • Operatori: AND, OR, NOT, BETWEEN
  • View

Create

Due opzioni: creare un database o una tabella.

Create database nomepersonalizzato;

Crea un database con nome scelto.

Create table nometabelal(nomecampo tipo);

Nel caso della tabella è necessario inserire almeno un campo definendone il nome e la tipologia. Opzionalmente è possibile inserire delle constraints.

Attenzione! I nomi personalizzati di database, tabelle, campi sono case sensitive significa che fanno differenza tra lettere maiuscole e minuscole differentemente dai comandi.

Inoltre, il nome personalizzato NON può includere spazi!

Show

Mostra tutte le tabelle e/o database presenti.

Show tables;
Show databases;

Describe

Mostra dettagliatamente la struttura della tabella.

Decribe nometabella;

Drop

Due opzioni: eliminare database o tabella.

Drop database nome;

Elimina il database.

Drop table nome;

Elimina la tabella e tutto il contenuto in maniera irreversibile. E’ possibile rimuovere più tabelle separando i nomi con la virgola.

Alter Table

Permette di agire sui campi: aggiungendo, modificando e rimuovendo.

Alter table nome add id tipo;

L’opzione add consente di aggiungere un campo ed eventuali vincoli.

Alter table nome drop nomecampo;

Rimuove il campo.

Alter table nome modify add id tipo;

Modifica tipo di campo ed eventuali vincoli.

Alter table nome change nomevecchio nuovonome tipo;

Rinomina il campo.

In tutti casi, eccetto drop, è possibile aggiungere l’opzione AFTER che permette di inserire il campo sotto un altro definito anziché in coda alla struttura.

Insert into

Inserire dati in una tabella.

Insert into nometabella(campo1,campo2,campo3) values("valore1","valore2","valore3"),("valore1a","valore1b","valore1c");

Il campo chiave primaria auto incrementabile non va dichiarato, i campi non obbligatori si possono escludere.

Update

Aggiorna il valore di uno più record data una condizione.

Update nometabella set nomecampo="" where condizione;

Delete

Elimina uno o più record verificata una condizione altrimenti rimuove tutto.

Delete from nome where condizione;

Truncate

Svuota la cartella rimuovendo tutti i record.
Agisce allo stesso modo del comando Delete ma con una differenza importante con Truncate viene resettato il contatore.

Delete from nome;
Truncate nometabella;

Select

Probabilmente la funzione più utilizzata consente di visualizzare, estrapolare dati.

Select * from tabella;
Select campo1, campo 3 from tabella;
Select distinct campo1, campo3 from tabella;

Il carattere jolly * consente di visualizzare tutti i campi altrimenti basta separarli con la virgola.

Aggiungendo una Where è possibile tramite gli operatori inserire delle condizioni

Tramite l’opzione Distinct si evitano i contenuti duplicati.

Order by

Va alla fine della query è legato al comando Select consente di ordinare per uno o più campi in ordine crescente ASC (predefinito, può essere omesso) o decrescente DESC.

Select campo2 from tabella order by campo1 DESC, campo2 ASC;

Limit

VA sempre alla fine associato a una Select, limita il numero di record visualizzabili.

Select * from nometabella limit 5;

As

Abbreviazione di alias, si usa nelle query per rendere più leggibile il codice e snellirlo. Si può omettere scrivendo direttamente il nome fittizio. Se presente dello spazio va scritto tra virgolette ” ” o apici ‘ ‘

Select count(*) "Descrizione personalizzata" from nometabella;

Like

Si usa nella Select per filtrare dati. Si possono visualizzare così, tramite caratteri jolly % i record che iniziano o terminano in un determinato modo o contengano specifici caratteri mentre con _ si indivuda la posizione del testo.

Select * from tabella where campo like"a%";
Select * from tabella where campo like"%a";
Select * from tabella where campo like"_____";

a% indica che deve iniziare in quel modo mentre %a che deve terminare, infine con _ specifica il numero di caratteri.

In

Anch’esso si usa con le Select filtrando dati. Permette di cercare valori contenuti in un determinato intervallo personalizzato.

Select * from tabella where campo IN("valore1","valore3");

Sum, AVG, Count, MAX, MIN

Sono tra le funzioni di aritmetica e statistica più usate su Mysql consentono di effettuare somma, media, conteggio record, valore massimo e minimo. Possono essere combinate tra loro e raggruppate insieme al comando GROUP BY nonché filtrare ulteriormente tramite Having on.

Group by

Come nel caso di Order by è legato alla Select. Si usa con alcune funzioni specifiche come avg, sum, max, min e count consente di raggruppare.

Select max(nomecampo1), nomecampo2 from nometabella group by nomecampo2;
Select count(*) from tabella;
Select max(campo) "Descrizione" from tabella;

Having

Filtro legato alle funzioni aritmetiche e statiche a Group by.

Select max(campo1), campo2 from tabella group by campo2 having max(campo1) condizione;

Join

Consente di unire e filtrare dati da più tabelle collegate tramite chiave esterne.

La Join più comune è la INNER (keyword che può essere omessa), ci sono anche LEFT e RIGHT che permettono di estrare dati a destra o a sinistra della tabella di riferimento.

Select campo1, campo2 from nometabella as nome join nometabella2 as nome2 on nome1.id_primario=nome2.Id_esterno where condizione;

Tipi di campi

In fase di creazione o modifica dei campi va definito il tipo, che può essere numerico, stringa, temporale o geometrico. I più usati sono: int e decimal per i numeri, varchar e text per le stringhe e datetime per le date. Leggi l’articolo completo sulla tipologia di un campo.

Constraints

Sono dei vincoli:

  • primary key chiave primaria univoca e obbligatoria con opzione auto incrementabile nel caso di valori numerici
  • foreign key chiave esterna legata alla chiave primaria di un’altra tabella. Fondamentale per creare relazioni tra tabelle.
  • unique campo che accetta solo valori univoci, non duplicati.
  • not null rende il campo obbligatorio.
  • default impostare un valore predefinito.
  • index creare un indice per rendere più veloce il database.

Ulteriori info nella guida sulle constraints.

Operatori

AND tutte le condizioni devono verificarsi.
OR almeno una condizione si deve verificare.
NOT verifica contraria della condizione.
BETWEEN condizioni all’interno di un intervallo numerico.
< minore
> maggiore
<= minore o uguale
>= maggiore o uguale
= uguale
<> diverso

Select campo from tabella where nomecampo1="v1" and nomecampo2="v2";
Select campo from tabella where nomecampo1<5 or nomecampo2="v2";
Select campo from tabella where NOT nomecampo1=3;
Select campo from tabella where nomecampo1 BETWEEN 5 AND 10;

View

Consente di salvare una query da richiamare in un secondo momento.

Create view nomeview as Select max(campo1), campo2 from tabella group by campo2 having max(campo1) condizione;
Select * from nomeview;
Drop view nomeview;
Replace view nomeview as ...

Fonti

Esperienza personale e manuale W3CSchool.

Lascia un commento

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