Mysql/MariaDb: Query più comuni

mysql

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