Sante Caserio
pubblicato più di 2 anni fa

I commenti in MySQL

Nessun pezzo di codice sorgente è ben scritto senza un commento, vale lo stesso per l'SQL ed ecco una ricetta che descrive le modalità

I commenti sono annotazioni che un programmatore può scrivere all’interno del codice – o, nel nostro caso, all’interno di un’istruzione SQL. Essi vengono ignorati dal compilatore o dall’interprete che li esegue (nel nostro caso MySQL). Servono ad aumentare la leggibilità del codice e quindi la sua manutenibilità nel corso del tempo.

L’interprete di MySQL prevede tre tipi di commenti. Per i commenti su una sola riga, la sintassi più comoda è il carattere ’#’. Tutto ciò che segue quel carattere, fino alla fine della riga, è considerato un commento. Questo metodo ha l’unico svantaggio di non essere standard. Esempio:

SELECT 'prova' AS campo1; # restituisce un solo campo

Se si vuole utilizzare un metodo standard, è possibile usare il doppio trattino (‘-‘). Anche in questo caso, tutto ciò che segue fino alla fine della riga sarà considerato un commento. Poiché però il trattino è anche il segno aritmetico di sottrazione, un’espressione come “SELECT 1-1;” è perfettamente valida (restituisce 2). MySQL, per poter distinguere due segni meno consecutivi da un commento, impone nel caso dei commenti di inserire almeno uno spazio o una tablatura dopo il secondo trattino. Esempio:

SELECT 1--1; -- restituisce 2 SELECT 1 -- 1; # restituisce 1

Infine vi sono i commenti multiriga, che sono racchiusi tra la sequenza di caratteri ’/’ e ‘/’. La comodità in questo caso consiste nel poter inserire molte righe di commento senza dover aggiungere caratteri extra su ognuna di esse. Bisogna però ricordare che tali commenti non possono essere annidati. Esempio:

SELECT /* questo è un commento di quattro righe */ 'prova' AS campo1;

Compatibilità

MySQL comprende alcune parole chiave che non appartengono all’SQL standard e che quindi genererebbero un errore venissero inserite in una query che viene poi eseguita su un altro tipo di dbms (come PostgreSQL). In alcuni casi si tratta di opzioni che tornano utili, ma senza le quali il comando avrebbe comunque senso. MySQL offre la possibilità di inserire tali parole chiave tra la sequenza di caratteri ’/!’ e ‘/’. In tal modo questi termini verranno considerati come un commento dagli altri dbms, ma verranno comunque eseguiti da MySQL. I comandi così creati potranno (ad esempio) essere inseriti in un file batch che potrà essere eseguito sia da MySQL sia, in maniera meno ottimale, da altri programmi. Esempio:

SELECT /*! HIGH_PRIORITY */ campo FROM tabella;

Similmente è possibile inserire parole chiave che vengono comprese solo dalle versioni più recenti di MySQL. Per fare questo, occorre inserire un numero di versione dopo il punto esclamativo, togliendo i punti e senza alcuno spazio in mezzo. Ogni server MySQL terrà conto della parola chiave solo se il suo numero di versione è pari o superiore a quello specificato, in caso contrario la ignorerà come se fosse un commento. Esempio:

/* a partire dalla versione 3.23.02 le tabelle temporanee sono supportate */ CREATE /*!32302 TEMPORARY */ TABLE /*! IF NOT EXISTS */ tabella (campo1 CHAR(1));

Condividi su:

Esprimi un voto:

  • Current rating: 0.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic