Linux e MySQL: le funzioni da non dimenticare

Di seguito, un elenco delle funzioni base di MySQL da non dimenticare, utili nella gestione un database MySQL. Questa pagina vuole essere solo un reminder per chi già conosce MySQL e ha già sperimentato le sue potenzialità ma ha una memoria corta 🙂

Apri una shell linux ed esegui i comandi:

mysql -h localhost -u root -p --password=miapassword (localhost: host su cui è installato MySQL, root: utente MySQL, miapassword: password dell’utente).

SHOW DATABASES; (mostra tutti i db che attualmente MySQL ospita).

CREATE DATABASE nome_database CHARSET utf8; (creata un database di nome: nome_database e charset utf8)

SHOW CREATE DATABASE nome_database; (mostra le caratteristiche del database di nome: nome_database):

USE nome_database; (esplora il database nome_database e si sposta al suo interno).

Da questo momento ci troviamo all’interno del database nome_database e tutte le operazioni sono riferite a questo database.

SHOW TABLES; (mostra tutte le tabelle del database).

CREATE TABLE nome_tabella (campo1 type1, campo2 type2, …); (crea una tabella di nome nome_tabella, con i campi racchiusi tra parentesi, più avanti vediamo i tipi più comuni)

CREATE TABLE nome_tabella SELECT * FROM nome_tabella2; (crea una tabella di nome nome_tabella, con i campi copiati dalla tabella nome_tabella2)

CREATE TABLE nome_tabella (pkidcode BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, nome_campo1 text, nome_campo2 text, FULLTEXT INDEX nome_tabella_full(nome_campo1,nome_campo2)) ENGINE=MYISAM; (crea una tabella di nome nome_tabella, con chiave primaria pkidcode, due campi di tipo testuale, con indice di ricerca fulltext di nome nome_tabella_full sui due campi e storage engine MYISAM)

DROP INDEX nome_indice ON nome_tabella; (rimuove l’indice creato con nome nome_indice della tabella nome_tabella

SHOW CREATE TABLE nome_tabella; (mostra le caratteristiche della tabella)

DESCRIBE nome_tabella; (mostra tutti i campi della tabella nome_tabella)

RENAME TABLE nome_tabella TO nuovo_nome_tabella; (cambia il nome da nome_tabella a nuovo_nome_tabella)

DROP TABLE nome_tabella;  (rimuove la tabella)

 

ALTER TABLE nome_tabella DROP nome_campo; (rimuove il campo nome_campo)

ALTER TABLE nome_tabella CHANGE nome_campo nuovo_nome_campo nuovo_type; (cambia nome e tipo a nome_campo con nome: nuovo_nome_campo e tipo: nuovo_type)

ALTER TABLE nome_tabella ADD nome_campo type; (aggiunge un nuovo campo con nome: nome_campo e tipo: type)

ALTER TABLE nome_tabella charset=utf8; (cambia il charset della tabella in utf8)

ALTER TABLE nome_tabella ALTER COLUMN nome_campo charset=utf8; (cambia il charset del campo nome_campo in utf8)

ALTER TABLE nome_tabella ENGINE=MYISAM; (cambia lo storage engine della tabella in MYISAM, questo ci permette di creare degli indici FULLTEXT, vedremo più avanti)

ALTER TABLE nome_tabella ADD FULLTEXT nome_indice (nome_campo1, nome_campo2, …);

 

DELETE FROM nome_tabella; (cancella il valore di tutti i campi della tabella, non azzera il contatore della chiave primaria)

DELETE FROM nome_tabella WHERE nome_campo=valore; (cancella il valore di tutti i record della tabella che hanno il campo nome_campo=valore)

TRUNCATE TABLE nome_tabella; (cancella il valore di tutti i campi della tabella, azzera il contatore della chiave primaria)

 

UPDATE nome_tabella SET nome_campo1=REPLACE(nome_campo1, ‘valu’, ”) WHERE condizione;

UPDATE nome_tabella SET nome_campo1=’espressione1′,nome_campo2=’espressione2′ WHERE condizione;

UPDATE nome_tabella1 nt1, nome_tabella2 nt2 SET nt1.campo1=nt2.campo2, … WHERE nt1.campoconvaloreunivoco=nt2.campoconvaloreunivoco;

 

INSERT INTO nome_tabella (nome_campo1, nome_campo2, …) VALUE (‘valore1’, ‘valore2’,…);

INSERT INTO nome_tabella (nome_campo1, nome_campo2, …) VALUE (‘valore1’, ‘valore2′,…) ON DUPLICATE KEY UPDATE nome_campo1=’valore1’;

ALTER TABLE nome_tabella AUTO_INCREMENT = 1; (azzera l’indice delle chiavi che hanno l’auto_increment)

SET @a:=0; UPDATE nome_tabella SET position=@a:=@a+1 ORDER BY pkid; (ordina l’indice delle chiavi che hanno l’auto_increment)

SET storage_engine=MYISAM;

Annotazioni:

Per definire un campo come chiave primaria, basta inserire come type:

BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY

Per creare un dump mysql basta aprire una shell, ed eseguire il comando:

mysqldump --default-character-set=utf8 -u root -p --password=miapassword nome_database > nome_database.sql

Per importare un dump mysql basta eseguire il comando:

mysql --default-character-set=utf8 -u root --password=miapassword nome_database < nome_database.sql

Se volete per un attimo sospendere l’esecuzione di MySQL e tornare alla linea di comando basta premere:

CTRL+Z (sospende l’esecuzione)

fg (rientra)

Inoltre, se volete scaricare il pdf potete farlo qui: Funzioni MySql

Naturalmente le funzionalità e le potenzialità di MySQL non si esauriscono qui, per ulteriori approfondimenti vi rimando alla pagina ufficiale

https://www.mysql.it/

dove potete trovare di tutto.

Alla prossima e buon divertimento!!!!

Una risposta a “Linux e MySQL: le funzioni da non dimenticare”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *