Risorse per webmaster

L A   C O M U N I T À   V I R T U A L E   I T A L I A N A   P E R   W E B   M A S T E R S

 
 
      Tecnologie
      HTML
      CSS
      DHTML
      FLASH
      ASP
      PHP
      JSP
      PERL
      XML
      SMIL
      WIRELESS
      PALMARI
      APACHE
      MYSQL
      PICOSQL
 
      Grafica
 
      Servizi
 
      Raccolte
 
      Recensioni
 
      Analisi
 
      Disclaimer

   Per tutti
 
  .: Magazine
  .: Editor
  .: Appunti
  .: Gratis
  .: Scripts
  .: Components
 
   Home page

Partner
Comunicati stampa
Proposte di viaggio
Prenotazione hotel
Prenota vacanze
Accessori palmari
Cerca alberghi
Guide turistiche

versione stampabile Mostra una versione adatta per la stampa  

Livello di difficoltà:Livello di difficoltà: medio  
MySQL è il database open source per eccellenza. Cresciuto molto in questi anni, è diventato il DBMS più utilizzato dalla comunità open source e apprezzato anche da chi scrive pagine con tecnologie diverse da PHP e su server diversi da Linux.
 

Nomi di tabelle e campi in MySQL

MySQL
Nella puntata SQL di base all'interno di questa guida a MySQL, abbiamo visto che SQL è a tutti gli effetti un linguaggio. In quanto tale, ha regole grammaticali e strutturali che vanno rispettate, così da interagire alla perfezione con il database.

Tra queste regole, come per quasi tutti i linguaggi, esistono nomi riservati che non possono essere utilizzati:

ALTER
AND
AS
CREATE
CROSS JOIN
DELETE
DROP
FROM
FULL JOIN
GROUP BY
INSERT
INTO
JOIN
LEFT JOIN
LIKE
LIMIT
ON
OR
ORDER BY
RIGHT JOIN
SELECT
SET
UPDATE
WHERE

Altri consigli nell'assegnazione dei nomi
Quando andiamo assegnare i nomi delle nostre tabelle e dei nostri campi, esistono altre piccole regole che è meglio seguire. E' bene evitare caratteri particolari all'interno dei nomi. Per un migliore funzionamento, è bene utilizzare solo:
  • Caratteri alfanumerici
  • Per inserire spazi tra le parole, usare il simbolo underscore ( _ )
E nient'altro. E' bene quindi evitare altri simboli ( ? , . ` ' " @ ù à ò ì è é + * ecc.), utilizzare il carattere di spaziatura o anche il semplice trattino ( - ).
Questo ultimo simbolo, merita un approfondimento a parte. Se ci trovassimo di fronte a un campo dal nome:

voti-totali

Per estrarlo, magari dalla tabella "voti", dovremmo fare:

SELECT `voti-totali` FROM voti

Questo perché la presenza del trattino ( - ) ci impone l'utilizzo del simbolo ` per raggruppare il nome del campo (o della tabella).

Migliorare la leggibilità delle query
Una pratica che seguo da molto tempo per migliorare la leggibilità delle query SQL (con MySQL o altri database) è quella di utilizzare i comandi in maiuscolo e i nomi dei campi in minuscolo. Questo mi è molto utile quando devo scrivere query più strutturate, ad esempio:

SELECT * FROM fornitori WHERE id_prodotto IN (SELECT id_prodotto FROM prodotti_spediti AS o, mezzo_di_trasporto AS s WHERE s.mezzo_di_trasporto LIKE 'gomma%' AND s.mezzo_di_trasporto=o.mezzo_usato)

Casi particolari: gli escape
Esistono casi in cui è necessario applicare gli escape ad alcuni caratteri. Ammettiamo di voler realizzare una query simile:

SELECT * FROM nomeTabella WHERE titolo = 'L'utilità di MySQL';

In questo caso, avremo un errore perché non è possibile usare l'apice sigolo ( ' ) quando abbiamo già usato gli apostrofi come delimitatori del valore del campo. E' necessario quindi applicare l'escape al carattere apostrofo, come segue:

SELECT * FROM nomeTabella WHERE titolo = 'L\'utilità di MySQL';

Un altro carattere che va obbligatoriamente sottoposto a escape è la backslash ( \ ). Come segue:

INSERT INTO nomeTabella VALUES('La backslash (\\) va sottoposta a escape con il segno \\');

Funzioni automatiche per gli escape
Spesso MySQL viene utilizzato nel Web associato ad un linguaggio di sviluppo, come PHP, oppure a una tecnologia lato server come ASP.
Per effettuare gli escape dei caratteri quindi, si possono usare funzioni predefinite:

PHP
Con PHP è possibile sfruttare alcune funzioni predefinite, come ad esempio:
  • mysql_escape_string()
    Aggiunge le sequenze di escape in una stringa (implementata dalla versione 4.0.3 di PHP).
  • mysql_real_escape_string()
    Aggiunge le sequenze di escape ai caratteri speciali in una stringa per l'uso in una istruzione SQL, tenendo conto dell'attuale set di caratteri della connessione (presente dalla versione 4.3.0 di PHP).
PHP comunque, ha molte altre funzioni dedicate a MySQL, disponibili nella documentazione ufficiale.

ASP
Le ASP non prevedono funzioni già realizzate ma sarebbe utile farsene una.

Ad esempio qualcosa tipo:

Function PerSQL(info)
    PerSQL = Replace(Replace(info,"\","\\"),"'","\'")
End Function
 

 
 
Home > mysql > ...   © 1999-2017 Risorse.net, tutti i diritti riservati