Le query MySQL vengono solitamente scritte una volta e quindi racchiuse in funzioni di classe per ridurre al minimo la ripetizione del codice. Questo articolo elenca le 10 query utilizzate più spesso in MySQL.
Una query è essenzialmente una richiesta di informazioni da recuperare da una tabella di database o da una combinazione di tabelle. Esistono molti linguaggi di query che possono essere scritti per eseguire una gamma di query da semplici a complesse. Le query filtreranno determinati criteri in base ai dati specifici che viene richiesto di trovare. Può anche automatizzare le attività di gestione dei dati ed eseguire calcoli. Questa guida discute le 10 query MySQL più comuni.
Usiamo questi database demo per aiutarci a capire meglio come funziona ogni query.
EmployeeID | Nome | Titolo |
---|---|---|
1002 | Webster W. | Dirigente |
1003 | Lizzy S. | Gestore |
1004 | Oliver T. | Ingegnere software |
EmployeeID | Dipartimento | Età |
---|---|---|
1002 | Risorse umane | 36 |
1003 | Vendite | 21 |
1004 | IT | 39 |
SELEZIONA Tutto
Una semplice query SELECT viene utilizzata per recuperare e rispedire tutti i dati provenienti da un database. La sua sintassi può essere scritta come tale;
Codice:
SELECT * FROM Employees;
Risultato:
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer
Per selezionare tutte le colonne disponibili nella tabella è necessario utilizzare “*” per indicare che è necessario restituire tutte le informazioni possibili. In secondo luogo, indicare la parola chiave FROM per ricevere i dati dalla tabella del database. Infine, ricorda sempre di terminare la tua affermazione con un punto e virgola ";" per completare correttamente la richiesta.
SELEZIONA Colonna
Per ottenere dati da colonne specifiche e non da tutto, devi semplicemente indicare il nome del campo invece di usare l'asterisco(*).
Codice:
SELECT Title FROM Employees;
Risultato:
Title Executive Manager Software Engineer
Quando si selezionano più colonne da un database, queste devono essere separate da una virgola. Così;
SELECT Title, Name FROM Employees;
Clausola WHERE
Quando si utilizza la clausola WHERE in una query SELECT, i record di dati verranno filtrati, quindi verranno estratti i record che soddisfano le condizioni come risultato.
Codice:
SELECT * FROM Employees WHERE EmployeeID = 1004 ;
Risultati:
1004 Oliver T. Software Engineer
La clausola WHERE può avere più di una condizione che può essere separata utilizzando la parola chiave AND.
CREA tabella
Questa query può essere utilizzata per generare una nuova tabella con la tua scelta preferita di colonne. Quando aggiungi i nomi delle colonne assicurati di specificare il loro tipo di dati.
Codice:
CREATE TABLE EmployeeInfo ( EmployeeId INT, Department VARCHAR(25), Age NUMBER );
Risultati previsti per la tabella:
EmployeeID | Department | Department |
NULL | NULL | NULL |
Dopo aver eseguito il comando CREATE TABLE e averlo popolato con i titoli delle colonne, la query precedente crea una tabella "EmployeeInfo" nel database. Essenzialmente ogni colonna restituirà NULL perché non abbiamo inserito alcun valore particolare. Questo ci porta alla nostra prossima query, INSERT INTO.
INSERIRE NELLA Query
Questa è la query più comune per inserire valori in una o più righe di nuovi record in una tabella. Siamo in grado di popolare la tabella EmployeeInfo con alcuni dati di esempio;
Codice:
INSERT INTO EmployeeInfo (EmployeeID,Department,Age) VALUES (1002, HR , 46), (1003, Finance , 28), (1004, IT , 39);
Risultati della tabella:
Informazioni sul dipendente
EmployeeID | Department | Age |
1002 | HR | 46 |
1003 | Finance | 28 |
1004 | IT | 39 |
Quando si scrive una query INSERT INTO, il comando VALUES deve far parte dell'istruzione completa.
Richiesta di AGGIORNAMENTO
Questa parola chiave viene utilizzata per modificare una o più colonne esistenti in una tabella. L'utilizzo di questa query aggiornerà i record della tabella con nuovi dati in base ad alcune condizioni.
Informazioni sul dipendente
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Codice:
UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;
Risultati della tabella:
Informazioni sul dipendente
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 22 |
1004 | IT | 39 |
Seguendo il comando UPDATE, usa la parola chiave SET per specificare sempre quali colonne vuoi modificare, quindi indica esattamente DOVE sono necessari i dati aggiornati applicati.
ELIMINA DA Query
Per rimuovere i record da una tabella in base a una o più condizioni è necessario utilizzare l'istruzione DELETE FROM. Quando si utilizzano le condizioni, limita il numero di righe interessate dalla query.
Codice:
DELETE FROM Employees WHERE Name = ‘Lizzy’;
Risultati della tabella:
Dipendenti
EmployeeID | Name | Title |
1002 | Webster W. | Executive |
1004 | Oliver T. | Software Engineer |
Come precedentemente trattato nell'articolo; l'utilizzo della condizione WHERE determina esattamente dove si richiede che i dati vengano filtrati ed eseguiti. Tale query consiste nell'eliminare ogni record dalla tabella dei dipendenti che corrisponde al nome "Lizzy".
Utilizzo di GROUP BY, HAVING Clausola
La clausola GROUP BY è per lo più sempre utilizzata con funzioni aggregate. L'utilizzo di questa parola chiave raggrupperà il set di risultati in base a una o più colonne.
La parola chiave HAVING viene utilizzata per filtrare il set di risultati. Idealmente, si potrebbe pensare che venga invece inserita una clausola WHERE, tuttavia la clausola HAVING introduce una condizione sulle aggregazioni.
Informazioni sul dipendente
EmployeeID | Department | Age |
1002 | HR | 36 |
1003 | Sales | 21 |
1004 | IT | 39 |
Codice:
SELECT COUNT(Age), EmployeeID FROM EmployeeInfo GROUP BY EmployeeID HAVING COUNT(Age) > 21;
Risultati:
COUNT(Age) EmployeeID 39 1004 36 1002
Funzioni aggregate (SUM, AVG e COUNT)
Esistono tre funzioni di aggregazione estremamente comuni che consentono di interpretare i dati di una tabella o di eseguire calcoli.
- COUNT:restituisce il numero di righe che corrispondono a una colonna specificata.
- MEDIA: restituisce il valore medio di una colonna
- SOMMA:restituisce la somma di tutti i valori in una colonna selezionata.
Informazioni sul dipendente
ID dipendente | Dipartimento | Età |
1002 | Risorse umane | 36 |
1003 | Vendite | 21 |
1004 | IT | 39 |
Codice per COUNT:
SELECT COUNT(Department) FROM EmployeeInfo;
Risultati:
COUNT(Department): 3
Codice per AVG:
SELECT AVG(Age) FROM EmployeeInfo;
Risultati:
AVG(Age): 32
Codice per SUM
SELECT SUM(Age) FROM EmployeeInfo;
Risultati:
SUM(Age): 96
SI UNISCE
I join vengono utilizzati per riunire righe di almeno due tabelle, in base a una colonna correlata tra le tabelle. I join di pratica più comuni sono INNER, FULL e LEFT.
- INNER Join:combina le righe di tabelle diverse se la condizione di join è vera.
- FULL Join: restituisce tutte le righe quando c'è una corrispondenza nei record della tabella di sinistra o di destra.
- LEFT Join:recupera tutte le righe dalla tabella di sinistra e i record corrispondenti dalla tabella di destra.
Dipendenti – Tabella n. 1 (a sinistra)
ID dipendente | Nome | Titolo |
1002 | Webster W. | Dirigente |
1003 | Lizzy S. | Gestore |
1004 | Oliver T. | Ingegnere software |
EmployeeInfo – Tabella n. 2 (a destra)
ID dipendente | Dipartimento | Età |
1002 | Risorse umane | 36 |
1003 | Vendite | 21 |
1004 | IT | 39 |
Codice INNER JOIN:
SELECT Employees.Title, EmployeeInfo.Department FROM Employees INNER JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Risultati:
Title Department Executive HR Manager Sales Software Engineer IT
Codice FULL JOIN:
SELECT * FROM Employees FULL JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Risultati:
Prenderà tutte le righe e le colonne da entrambe le tabelle, inclusi i duplicati, e le combinerà in un'intera tabella.
Codice UNISCITI A SINISTRA:
SELECT Employees.Name, EmployeeInfo.Age FROM Employees LEFT JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Risultati:
Name Age Webster W. 36 Lizzy S. 21 Oliver T. 39
La colonna "EmployeeID" nella tabella "Employee" fa riferimento a "EmployeeID" nella tabella "EmployeeInfo", affermando essenzialmente che la colonna EmployeeID è la relazione tra entrambe le tabelle. I join possono diventare complicati ma allo stesso tempo estremamente utili durante l'ordinamento di un database più grande.
L'utente e il database sono in grado di scambiare informazioni con successo essenzialmente parlando la stessa lingua. Le query sopra elencate sono le più comunemente utilizzate sia dai principianti che dagli esperti. La scrittura di query MySQL è considerata la funzione più frequente nell'ambito della gestione dei database.
Questo articolo è stato esaminato e aggiornato nell'aprile 2022 da Kelsey Perkins.