Commenti(0)
L'help di MySQL
L’articolo descrive l’utilizzo del comando Help, lo strumento di aiuto che MySQL mette a disposizione
MySQL ha un comodissmo comando HELP che consente di reperire rapidamente spiegazioni su un aspetto del linguaggio SQL senza dover ricorrere alla documentazione o ad altri manuali.
Vediamo come utilizzarlo.
Riempire le tabelle di help
Spesso i contenuti dell’help non sono installati di default, perciò occorre caricarli manualmente. Essi possono essere scaricati dalla pagina della documentazione sul sito ufficiale di MySQL. Quello che andiamo a scaricare è un pacchetto compresso contenente un file di testo, che contiene a sua volta le query SQL che andranno a popolare di contenuti alcune tabelle di sistema. Una volta scaricato lo scompatteremo in una posizione a noi comoda, gli assegneremo un nome breve (come help.sql) e lanceremo il seguente comando dal Terminale:
1mysql -–user=myuser -–password=mypassword mysql < help.sql
Naturalmente occorre sostituire myuser e mypassword con uno username e una password realmente esistenti. Se sono corretti, MySQL dovrebbe inserire rapidamente i contenuti dell’help nelle tabelle di sistema.
La sintassi
La sintassi del comando HELP è la seguente:
1HELP _argomento_
Si può utilizzare anche da riga di comando:
1help _argomento_
In antrambi i casi argomento è una stringa (quindi in SQL bisogna racchiuderlo tra apici!) e l’uso di caratteri maiuscoli o minuscoli è indifferente.
Argomento può essere un qualsiasi aspetto del linguaggio SQL sul quale abbiamo bisogno di informazioni. Ad esempio, se vogliamo informazioni proprio su HELP, scriviamo in SQL:
1HELP 'help'
Se la ricerca restituisce più argomenti
Spesso otterremo subito ciò che cerchiamo. In alcuni casi però, come nel caso appunto di HELP, la ricerca produrrà due o più risultati.
Se ciò avviene, il comando restituirà un recordset di due campi:
- name: è il nome dell’argomento trovato;
- is_it_category: vale ‘Y’ se si tratta di una categoria di argomenti, ‘N’ se è un singolo argomento;
- source_category_name: questo campo non è sempre presente, se c’è indica la categoria nella quale si trova l’argomento (o la sottocategoria) in questione.
In questo caso avremo ‘HELP COMMAND’ e ‘HELP STATEMENT’, che sono argomenti e non categorie. Potremo visionarli con:
1HELP 'help command'
oppure:
1HELP 'help statement'
Il primo si riferisce a help come comando da inserire nella riga di comando, il secondo a HELP come istruzione SQL.
Navigare tra le categorie
Se cerchiamo il nome di una categoria, possiamo esplorarne il contenuto. Vedremo così gli argomenti che contiene (se ce ne sono), la categoria padre (se esiste) e le categorie figlie (se esistono).
1HELP 'functions'
Siccome tra i risultati avremo ‘String Functions’, possiamo decidere di esplorarne il contenuto:
1HELP 'String Functions'
La categoria-radice, che contiene tutte le altre, è ‘Contents’.
Visualizzare un argomento
Proviamo:
Otterremo un record di tre campi:
- name: il nome dell’argomento;
- description: la sintassi e altre spiegazioni;
- example: un esempio, se è disponibile.
Le tabelle di sistema
Le tabelle di sistema utilizzate da HELP sono quattro e sono contenute nel database di sistema ‘mysql’. La loro struttura è abbastanza semplice, esaminiamola.
Le categorie sono contenute nella tabella help_category, che ha i seguenti campi:
- help_category_id: chiave primaria;
- name: nome della categoria, su questo campo c’è un indice UNIQUE;
- parent_category_id: è l’id della categoria padre, 0 se non c’è una categoria padre;
- url: questo campo è sempre vuoto, probabilmente dovrebbe contenere l’url corrispondente alla categoria nella documentazione ufficiale sul sito di MySQL.
Gli argomenti sono contenuti nella tabella help_topic, che ha i seguenti campi:
- help_topic_id: chiave primaria;
- name: nome dell’argomento, su questo campo c’è un indice UNIQUE;
- help_category_id: l’id della categoria a cui appartiene l’argomento;
- description: la spiegazione dell’argomento;
- example: un esempio;
- url: l’url della pagina della documentazione ufficiale che corrisponde all’argomento.
Siccome l’istruzione HELP non restituisce mai il campo url, se si necessita di un approfondimento, per conoscere rapidamente l’url da consultare, si può utilizzare la seguente query:
1SELECT url FROM help_topic WHERE name='argomento'
Le ultime due tabelle probabilmente non ci interessano, ma le analizziamo ugualmente per completezza.
Alcune parole chiave sono associate agli argomenti (non alle categorie). Vengono utilizzate internamente per le ricerche, in modo del tutto trasparente, e sono contenute nella tabella help_keyword, che ha i seguenti campi:
- help_keyword_id: chiave primaria;
- name: la parola chiave, su questo campo c’è un indice UNIQUE.
La relazione tra le parole chiave e gli argomenti, essendo una relazione molti a molti, è rappresentata nella tabella help_relation, che ha i seguenti campi:
- help_keyword_id: l’id di una parola chiave;
- help_topic_id: l’id di un argomento.
Entrambi i campi, insieme, costituiscono la chiave primaria.
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo