---
title: 'Mysql/MariaDb Query più comuni'
url: 'https://www.linuxzine.it/tutorial/mysql'
markdown: 'https://www.linuxzine.it/tutorial/mysql.md'
lang: it
date: '2026-07-08'
description: 'Mysql/MariaDb: Query più comuni In rete è possibile trovare tantissimi articoli, corsi e similari relativi a MySQL. Le informazioni sono però frammentarie e/o suddivise in più articoli. La redazione di LinuxZine.it ha deciso di inserire in questo articolo tutte le query più comuni. Connessione ser…'
taxonomy:
  category:
    - tutorial
  tag:
    - linux
    - gnu/linux
    - mysql
    - mariadb
    - database
    - query
  author:
    - 'Fabrizio Paolini'
---

# Mysql/MariaDb: Query più comuni

![mysql-0](https://www.linuxzine.it/user/pages/03.Tutorial/05.mysql/mysql-0.png "mysql-0")

In rete è possibile trovare tantissimi articoli, corsi e similari relativi a MySQL. Le informazioni sono però frammentarie e/o suddivise in più articoli. La redazione di LinuxZine.it ha deciso di inserire in questo articolo tutte le query più comuni.

## Connessione server MySQL

`mysql -u root -p localhost`

## Interazione con il database

### Creazione database

`CREATE DATABASE nome_db;`

### Selezione del database

`USE nome_db;`

### Cancellazione database

`DROP DATABASE nome_database;`

## Interazione con le tabelle

### Creazione tabelle

`CREATE TABLE nome_tabella (_id integer primary key auto_increment, campo1 integer, campo2_text, campo3 text not null);`

### Mostra tabelle

`SHOW TABLES;`

### Struttura tabella

`DESCRIBE nome_tabella;`

### Inserimento record

`INSERT INTO nome_tabella (campo1, campo2, campo3) VALUE(3, 'testo', testo');`

### Select

`SELECT * FROM nome_tabella;`

### Select parziale

`SELECT campo2 FROM nome_tabella;`

### Select condizionato

`SELECT * FROM nome_tabella WHERE _id=valore;`

### Update

`UPDATE nome_tabelle set campo='valore' WHERE campo_cond='valore';`

### Delete

`DELETE FROM nome_tabella  WHERE campo='valore';`

### Delete tutti i record

`DELETE FROM nome_tabella`

### Cancella tabella

`DROP TABLE nome_tabella;`

## Amministrazione

### Creazione utente

`CREATE USER 'user'@'localhost' IDENTIFIED BY 'passwordperuser';`

### Regole di accesso al database

```
GRANT ALL ON database.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
```

Con questo comando diamo pieni permessi al database per l'utente. Potremmo essere più selettivi, i tipi di permessi sono:

- CREATE: creazione tabelle
- UPDATE: modifica dei dati
- INSERT: inserimento dei dati
- SELECT: interrogazione dei dati
- DELETE: cancellazione dati
- DROP: cancellazione tabelle
- EXECUTE: esecuzione comandi
- GRANT OPTION: gestione permessi per se e per altri utenti

### Controllo regole

`SHOW GRANTS FOR 'user'@'localhost';`

oppure per l'utente corrente:

`SHOW GRANTS FOR CURRENT_USER;`

### Revocare permessi

`REVOKE istruzioni_revocate ON database.tabella FROM 'utente'@'host';`

Ad esempio:

`REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';`

### Cancellazione utenti

```
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
DROP USER 'user'@'localhost'
```

Ovviamente prima revochiamo tutti i permessi

---

## Navigation

- Parent: [Tutorial](https://www.linuxzine.it/tutorial.md)
- Previous: [Gestione degli alias](https://www.linuxzine.it/tutorial/alias.md)
- Next: [Backup di un database MySql](https://www.linuxzine.it/tutorial/mysqlbackup.md)
