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 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