Lavorare con MySQL


lavorare con mysql

Negli articoli precedenti abbiamo spiegato cosa sono il DBMS MySQL, i client software con cui utilizzarlo e come installare il tutto.
Di seguito affronteremo un problema un pò più concreto che troviamo iniziando a lavorare con MySQL: la connessione al database.
Prima di poter immettere espressioni MySQL, come tutti i DBMS client-server, si ha la necessità di una connessione al DBMS.

I nomi utente possono non essere gli stessi di quelli della rete (supponendo che si utilizzi una rete); MySQL contiene al suo interno un elenco di utenti, ciascuno con i suoi privilegi.
Durante la prima installazione di MySQL che abbiamo eseguito, molto probabilmente vi verrà richiesto un accesso come amministratore (che molto spesso viene chiamato root) e la relativa password.

Nel caso che si utilizzi un server locale per sperimentare con MySQL, è possibile utilizzare tali informazioni di accesso; però nelle situazioni di uso reale l’accesso come amministratore è protetto (questo perché questo tipo di accesso implica tutti i privilegi per la creazioni di tabelle, l’eliminazione di interi database, la modifica dei dati di accesso, le password ed altro).

Utilizzo di MySQL Administrator

La schermata Users di MySQL Administrator ci offre una semplice interfaccia che può essere utilizzata per definire nuovi utenti e assegnare loro una password e i privilegi di accesso.

Per connettersi a MySQL sono necessarie queste informazioni:

  • nomehost (il nome del computer): in caso di connessione a un server MySQL locale è localhost.
  • La porta (nel caso venga utilizzata una porta diversa da quella predefinita, la porta 3306).
  • Un nome utente valido .
  • La password dell’utente (se necessaria).

Come abbiamo già accennato negli articoli precedenti, è possibile immettere tutte queste informazioni nell’utility a riga dii comando mysql, oppure immetterle nella schermata di connessione al server in MySQL Administrator e in MySQL Query Browser.
Anche nel caso si utilizzi client diversi da quello elencati, per connettersi e lavorare con MySQL è necessario immettere queste informazioni.
Appena ci siamo connessi è possibile accedere ai database e alle tabelle a cui l’utente ha accesso.

Selezione di un database

Durante la prima connessione a MySQL non viene aperto nessun database, prima di poter eseguire qualsiasi operazione sui database è necessario selezionarne uno; per farlo, utilizziamo la parola chiave:

USE

Una parola chiave, è una parola riservata che fà parte del linguaggio di MySQL; non è possibile assegnare a una tabella o una colonna un nome costituito da una parola chiave.

Per esempio per utilizzare il database prova_wordpress bisogna inserire:

Input

USE prova_wordpress

Output

Database changed

Possiamo notare che l’espressione USE non prevede nessun risultato, a seconda del client utilizzato può essere visualizzata o no una notifica, per esempio il messaggio Database changed mostrato sopra viene visualizzato dall’utility a riga dii comando mysql quando il database viene selezionato con successo.

A differenza di MySQL Administrator in MySQL Query Browser è sufficiente fare doppio clic su un database mostrato nell’elenco Schermata per utilizzarlo.
Non viene mostrato l’invio dell’espressione USE, ma viene selezionato un database (che viene evidenziato in grassetto) e la barra del titolo dell’applicazione mostra il nome del database selezionata.

Database e Tabelle

Come fare quando non conosciamo il nome dei database e delle tabelle?
E come fanno MySQL Administrator in MySQL Query Browser a mostrare un elenco dei database disponibili?
Le informazioni su database, tabelle, colonne, utenti, privilegi ed altro sono archiviate negli stessi database e tabelle (in pratica MySQL archivia queste informazioni dentro di sè), però non possiamo accedere direttamente a queste tabelle (che MySQL estrae dalle tabelle interne) si utilizza l’espressione:

MySQL SHOW

Come mostrato nell’esempio seguente:

Input

SHOW DATABASES

Output

Database
information_schema
prova_wordpress
mysql
test

L’espressione SHOW DATABASES ci consente di visualizzare un elenco dei database disponibili, in questo elenco possono comparire database utilizzati da MySQL per le sue operazioni (come mysql e information_schema per questo esempio).
Naturalmente gli elenchi di database non hanno tutti lo stesso aspetto che ho mostrato.

Per ottenere l’elenco delle tabelle all’interno di un database, l’espressione da utilizzare è SHOW TABLES; invece per visualizzare le colonne di una tabella utilizziamo l’espressione:

SHOW COLUMNS FROM nome_tabella

Oppure MySQL supporta anche l’espressione DESCRIBE come scorciatoia di SHOW COLUMNS FROM; in altre parole:

DESCRIBE nome_tabella

è equivalente a SHOW COLUMNS FROM nome_tabella.

Sono supportate anche altre forme dell’ espressione SHOW, tra cui:

  • SHOW STATUS , per visualizzare informazioni dettagliate sullo stato del server;
  • SHOW CREATE DATABASE e SHOW CREATE TABLE, per visualizzare le espressioni MySQL necessarie a creare rispettivamente i database e le tabelle specificate;
  • SHOW GRANTS, per visualizzare i privilegi degli utenti (un utente specificato oppure tutti);
  • SHOW ERRORS e SHOW WARNINGS, per visualizzare i messaggi di avvertimento o di errore del server.

Da ricordare che con l’utility a riga di comando mysql, inserendo l’espressione HELP SHOW possiamo visualizzare la sintassi completa di SHOW.

Nel prossimo articolo andremo a trattare il recupero dati e ordinamento in MySQL affrontando l’importantissima espressione SELECT.


Lascia un Commento!