Mysql
 sql >> Database >  >> RDS >> Mysql

Le principali query MySQL comuni

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.