Skip to content

Cheat Sheet dei comandi comuni di MySQL

MySQL è il sistema di gestione di database relazionali open source più popolare al mondo. Questa cheat sheet organizza i comandi SQL più comunemente usati nello sviluppo e nella manutenzione quotidiana dei database.

Connessione e Gestione

Comando Descrizione Esempio
mysql -u root -p Connettiti al database come utente root mysql -u root -p
exit / quit Esci dalla riga di comando di MySQL exit
show databases; Elenca tutti i database show databases;
use <db_name>; Passa al database specificato use my_app;
status; Visualizza le informazioni sullo stato della connessione corrente status;

Operazioni su Database e Tabelle (DDL)

Comando Descrizione Esempio
create database <name>; Crea un nuovo database create database test_db;
drop database <name>; Elimina database drop database test_db;
show tables; Elenca tutte le tabelle nel database corrente show tables;
create table <table> (...); Crea una nuova tabella create table users (id int, name varchar(20));
describe <table>; Visualizza la struttura della tabella describe users;
alter table <table> add <col>; Aggiungi una nuova colonna alter table users add email varchar(50);
drop table <table>; Elimina tabella drop table users;

Operazioni sui Dati (DML)

// Inserisci dati

insert into users (name, age) values ('Alice', 25), ('Bob', 30);

// Interroga dati

select * from users where age > 20 order by id desc limit 10;
select count(*) from users;

// Aggiorna dati

update users set age = 26 where name = 'Alice';

// Elimina dati

delete from users where id = 10;
truncate table users; -- Svuota il contenuto della tabella e reimposta l'ID auto-incremento

Query di Join (JOIN)

Type Descrizione
INNER JOIN Restituisce righe con valori corrispondenti in entrambe le tabelle
LEFT JOIN Restituisce tutte le righe della tabella sinistra e le righe corrispondenti della destra
RIGHT JOIN Restituisce tutte le righe della tabella destra e le righe corrispondenti della sinistra
UNION Combina i risultati di due query (valori univoci)

// Query di join tra tabelle

select u.name, o.id from users u 
inner join orders o on u.id = o.user_id;

Gestione Indici

Comando Descrizione
create index <idx_name> on <table>(<col>); Crea un indice normale
create unique index ... Crea un indice univoco
show index from <table>; Mostra gli indici nella tabella
drop index <idx_name> on <table>; Elimina indice

Utenti e Permessi (DCL)

Comando Descrizione
create user 'user'@'host' identified by 'pass'; Crea un nuovo utente
grant all privileges on db.* to 'user'@'host'; Concedi privilegi
revoke all on db.* from 'user'@'host'; Revoca privilegi
drop user 'user'@'host'; Elimina utente
flush privileges; Aggiorna i privilegi per renderli effettivi