ALLWEB free database MySql. Descrizione delle Query string per comunicare con MySql.

ALLWEB  


Home  -  Mappa directory Aggiungimi a Preferiti
PHP
» Introduzione
» In locale
» File .ini
» Struttura
» Variabili
» Costanti
» Array
» Operatori
» Cicli
» Funzioni
» Funzioni utente
» Include/require
» Sessioni
» Dinamico Get
» Dinamico Post
» Php e file .txt

MySql
» Introduzione
» PhpMyAdmin
» Connessione
» Query
» Funzioni
» Errori
» Esempio

Query:

Una query non è altro che un collegamento fra il navigatore ed il database MySql. Tramite le query possiamo immettere, variare, cancellare o cercare dati nel database. Con l'utilizzo dei database e delle query possiamo creare un vero sito dinamico, capace di "ricordare" i visitatori, e di interagire con loro.

Importante:
Non tralasciate niente, neppure gli apici, o la query non funzionerà!!


Per comodità definiamo le variabili e la variabile resource:

<?
$db_host = "
localhost";
$db_user = "
nostro nome";
$db_password = "
nostra password";
$db_database = "
nome nostro database";
$db_tabella = "
nome nostra tabella";
?>
$xxx = mysql_connect($db_host,$db_user,$db_password);




Vediamo le query fondamentali per interrogare o modificare un database:



Inserire una riga:

mysql_db_query($db_database,"insert into ".$db_tabella."(nome, email) values('".$nome."', '".$email."')",$xxx);

In inglese= "Inserisci dentro $db_tabella una riga dove 'nome' è uguale a $nome e 'email' è uguale a $email"
Query che permette di inserire una riga nella tabella. 'nome' ed 'email' sono i nomi delle colonne, mentre $nome e $email sono variabili ottenute dal programma PHP (magari da un form di registrazione...).
La riga verrà aggiunta dopo l'ultima riga della tabella.

N.B.
Da notare che $db_tabella è inserita fra due punti, questo perchè la scrittura nella query segue le regole delle stringhe, ossia somma due stringhe(il risultato della variabile e il restante testo stringa) generando una query completa di ogni suo parametro.

Altro parametro da non tralasciare sono le variabili che contengono stringhe (vedi paragrafo a fondo pagina). Se una variabile contiene una stringa deve essere contenuta fra doppi apici e apici singoli.



Eliminare una riga:

mysql_db_query($db_database,"delete from ".$db_tabella." where id=5 and....",$xxx);

In inglese= "cancella da $db_tabella la riga dove il parametro id è uguale a 5 e...."
Query che permette di eliminare una o più righe che soddisfano l'ultimo enunciato (where id=5 and...)

N.B.
- Da notare che $db_tabella è inserita fra due punti, questo perchè la scrittura nella query segue le regole delle stringhe.
- Id è un nome a caso, di solito 'id' è la prima colonna, quella dove sono inseriti i numeri delle righe in sequenza dal primo all'ultimo, ma potrebbe non essere così, dipende dalla tabella creata.



Modificare una riga:

mysql_db_query($db_database,"update ".$db_tabella." set nome='".$nome."', email='".$email."' where id=5 and....",$xxx);

In inglese= "Aggiorna in $db_tabella 'nome' ed 'email' con i valori $nome e $email nelle righe dove il parametro id è uguale a 5 e...."

Query che permette di aggiornare una o più righe che soddisfano l'ultimo enunciato (where id=5 and...)

N.B.
- Da notare che $db_tabella è inserita fra due punti, questo perchè la scrittura nella query segue le regole delle stringhe.
- Id è un nome a caso, di solito 'id' è la prima colonna, quella dove sono inseriti i numeri delle righe in sequenza dal primo all'ultimo, ma potrebbe non essere così, dipende dalla tabella creata.



Interrogare una tabella:

mysql_db_query($db_database,"select nome, email from ".$db_tabella." where id=5 ",$xxx);

In inglese= "Seleziona 'nome' e 'email' da $db_tabella nelle righe dove il parametro id è uguale a 5 e...."

Query che permette di selezionare tutte le righe che soddisfano l'ultimo enunciato (where id=5 and...)

N.B.
- Da notare che $db_tabella è inserita fra due punti, questo perchè la scrittura nella query segue le regole delle stringhe.
- Id è un nome a caso, di solito 'id' è la prima colonna, quella dove sono inseriti i numeri delle righe in sequenza dal primo all'ultimo, ma potrebbe non essere così, dipende dalla tabella creata.



Interrogare una tabella ed ordinarla:

mysql_db_query($db_database,"select nome, email from ".$db_tabella." where ".$cat."=1 order by nome desc",$xxx);

N.B. In questo caso immaginate di avere delle categorie ($cat) di utenti registrati, esempio maschi=0 e femmine=1. Solo chi apparterrà ad una determinata categoria verrà visualizzato (In questo caso solo le femmine).

Sostanzialmente è uguale alla query sopra, abbiamo solo aggiunto "order by ..... desc". Al posto dei punti dobbiamo inserire un nome di una colonna della tabella, in questo caso daremo precedenza a quella colonna per ordinare i risultati.

Da notare che il termine desc indica un ordine decrescente (inverso), ossia parte dal valore numerico più alto e scende fino a zero (in lettere parte da Z e finisce alla A.)

Per avere un ordine crescente dobbiamo omettere il termine desc e scrivere solo ...order by nome",$xxx);.



Opzioni query:

Esistono alcuni termini o simboli che se digitati nelle query operano diversamente dalle normali funzioni.


SELECT *
mysql_db_query($db_database,"select * from ".$db_tabella." where id=5 ",$xxx);

In questo caso le righe sono selezionate dalla fine della query (where....) mentre le colonne sono definite dall'asterisco, che si usa per selezionare tutte le colonne della tabella.


GORUP
mysql_db_query($db_database," select nome from ".$db_tabella." gorup by nome ",$xxx);

In questo caso l'opzione gorup evita che si ripetano due nomi uguali se sono presenti nella tabella.


LIKE
mysql_db_query($db_database," select nome from ".$db_tabella." where nascita=1965 like '%marco%' ",$xxx);

In questo caso selezioniamo la colonna nome e le righe dove nascita=1965.
A questo punto ricerchiamo solo le caselle dove è contenuto 'marco'.
L'opzione like ricerca termini che contengono la parola indicata dopo like.
Il carattere % (percentuale) indica dove devono essere le altre parole (nel caso la parola ricercata sia contenuta dentro un'altra parola). In questo caso prima e dopo.
Nell'esempio possiamo trovare gianmarco o marcogiacomo. Se scriviamo like 'marco%' troviamo solo marcogiacomo, viceversa like '%marco' trova solo gianmarco.


LIMIT
mysql_db_query($db_database," select nome from ".$db_tabella." where nascita=1965 limit 5,10",$xxx);

L'opzione limit è forse uno degli attributi più importanti per snellire il programma che utilizza le query, ed è consigliabile in tutti i casi dove vogliamo ricevere solo una parte delle righe del database. In pratica seleziona solo il campo di risultati indicato.
limit num,num2 Il primo numero indica la riga da cui iniziare a memorizzare i risultati dopo la ricerca, mentre il secondo numero indica per quante righe vogliamo continuare.
Nella query di esempio iniziamo dalla prima riga (la numero 0) e continuiamo per altre 10.
In questo modo semplifichiamo il lavoro del database e riduciamo il tempo di risposta.



ATTENZIONE:

Nel caso che all'interno di una query si utilizzi una variabile che contiene una stringa si deve operare nel seguente modo:

Esempio:
mysql_db_query($db_database,"select nome, email from ".$db_tabella." where cognome='".$cogn."' ",$xxx);

Come avrete notato la variabile $cogn è contenuta da doppi apici e apici:
' " $cogn " '
Questo perchè i doppi apici contengono la variabile, che una volta sostituita dal testo string lasciano il posto agli apici (per contenere il testo della stringa che altrimenti non verrebbe distinta dal testo query e genera un errore).





Programmazione
» HTML
» CSS
» JAVASCRIPT

Utility
» Tavolozza colori
» Crea metacomandi
» Crea pop-up

Script
Motore di ricerca script
Javascript PHP

Articoli
» Php Contatore
» Php Contatore .txt
» Php Database .txt
» Php Redirect
» Php Info-Navigatori
» Php-Css caratteri
» Php register_globals
» Ottimizzare siti
Sezione database MySql di ALLWEB free. In questa sezione sono inseriti i comandi fondamentali della programmazione delle tabelle in MySql.
Pagina Link