Ricerche FULLTEXT IN BOOLEAN MODE

Gli argomenti di questa pagina

  • Motore di ricerca con FULLTEXT IN BOOLEAN MODE
  • La sintassi per le ricerche FULLTEXT IN BOOLEAN MODE
  • Elenco degli operatori più usati nella ricerca booleana
  • Esempi di richerche booleane eseguite col modificatore IN BOOLEAN MODE

Motore di ricerca con FULLTEXT IN BOOLEAN MODE

A partire dalla versione 4.0.1 di MySQL e successive è possibile utilizzare il boolean mode per la ricerca FULLTEXT: in parole povere è possibile effettuare ricerche con operatori booleani come si può fare con i motori di ricerca più evoluti.

Dopo aver visto alcuni esempi per le ricerche FULLTEXT IN NATURAL LANGUAGE MODE (espresso in modo esplicito o meno) possiamo passare ad esaminare le ricerche FULLTEXT IN BOOLEAN MODE che è una buona alternativa al NATURAL LANGUAGE.
Il BOOLEAN MODE è più potente del NATURAL LANGUAGE perchè permette l'uso di speciali operatori e ricerche più complesse.
Una ricerca booleana, oltre a contenere le parole da cercare, può contenere anche degli operatori che specificano altri requisiti, ad esempio che una parola deve essere presente o assente nelle righe, o che deve avere un peso più alto o più basso rispetto alle altre. Con un piccolo strataggemma possono tranquillamente essere incluse nella stringa di ricerca anche quelle parole che, o perchè troppo corte, o troppo ricorrenti, o perchè sono incluse nell'elenco speciale delle stopword. Mi riferisco all'aggiunta di un asterisco alla fine della parola.

La sintassi per le ricerche FULLTEXT IN BOOLEAN MODE

Le query utilizzate per le ricerche FULLTEXT, come si vedrà qui di seguito, sono differenti rispetto a quelle utilizzate abitualmente, ma la struttura è molto semplice e di facile apprendimento.
La sintassi per le ricerche FULLTEXT obbliga a specificare, come attributi di MATCH, tutti gli indici FULLTEXT specificati durante la creazione o l'alterazione della tabella. Se si omette una qualche colonna si incorre nell'errore:
#1191 - Can't find FULLTEXT index matching the column list

SELECT *
FROM tabella
WHERE MATCH(campo1, campo2) AGAINST ('parola1 parola2' IN BOOLEAN MODE)

oppure

SELECT *, MATCH(titolo, testo) AGAINST (''parola1 parola2') AS attinenza
FROM tabella
WHERE MATCH(titolo, testo) AGAINST (''parola1 parola2' IN BOOLEAN MODE)
ORDER BY attinenza DESC

I campi descritti in MATCH sono separati da una virgola.
Le parole di ricerca descritte in AGAINST sono normalmente separate da uno spazio e delimitate da un apice.
Il modificatore segue la lista delle parole da cercare e va posto dopo l'apice che delimita la lista delle parole.
La coppia MATCH() AGAINST(), oltre che essere usate nella clausola WHERE, possono essere utilizzate anche nell'elenco dei campi, seconda sintassi, per ottenere in modo esplicito il valore di attinenza.

Una volta eseguita la Query verrà restituito un resultset basato sul principio della corrispondenza.Tutti i record verranno discriminati sulla base di un livello di corrispondenza detto SCORE o rilevanza espresso in valore decimale rappresentato da un numero maggiore di 0 e solitamente inferiore a 10.
Più alto sarà lo SCORE maggiore sarà la pertinenza del risultato, i risultati ritenuti privi di corrispondenza verranno associati ad uno SCORE pari a 0 e generalmente ignorati.
Il peso di ciascun record si calcola a partire da vari parametri, come il numero di parole trovate nel record, il numero di parole uniche nel record, il numero totale di parole nel recordset e il numero di record che contengono la parola cercata.
Utilizzando IN BOOLEAN MODE, tra le altre cose, si supera il limite del 50% imposto dalla ricerca eseguita col NATURAL LANGUAGE.

NOTE:
I risultati della Query potrebbero non essere quelli attesi se la stringa di ricerca è formata da una sola parola. Per evitare questo inconveniente, occorre eseguire un controllo sul numero di parole presenti nella ricerca e nel caso che il risultato sia uguale a 1. In questo caso è meglio eseguire l'istruzione LIKE piuttosto che MATCH(...) AGAINST(...). Questo controllo verrà mostrato più avanti in questa pagina.

Elenco degli operatori più usati nella ricerca booleana

Il cuore delle ricerche FULLTEXT col modificatore IN BOOLEAN MODE è la possibilità di usare degli operatori speciali.
Questi che seguono qui in tabella sono gli operatori più usati nelle ricerche booleane.

I modi più comuni di usare questa ricerca sono i seguenti tre:
Operatore Descrizione
+ Sta per AND
- Sta per NOT
Nessun operatore tra le parole implica OR
* messo alla fine di una parola accetta tutte le parole che iniziano coi caratteri digitati
Alcuni esempi
Esempio Effetto
fave piselli Cerca i record che contengono almeno una delle parole indicate (OR)
+fave + piselli Cerca i record che contengono tutte le parole indicate (AND)
+fave piselli Cerca le righe che contengono la parola "fave", ed eventualmente "piselli"
+fave -piselli Cerca le righe che contengono la parola "fave" ma NON "piselli"
+fave carciofi -piselli Cerca le righe che contengono la parola "fave", eventualmente carciofi ma NON "piselli"
cipoll* Cerca le righe che contengono cipolla, cipolle, cipollina, cipollotto, ecc
Sembra che le ricerca *cipol* non funzionino, ma cipoll* pisell* funzionano

Esempi di richerche booleane eseguite col modificatore IN BOOLEAN MODE

Questi che seguono sono alcune Query e relativi risultati ottenuti con queste. Alcuni di questi esempi sono già stati visti nella pagina che trattava le Query usate col modificatore IN NATURAL LANGUAGE MODE. Sono qui ripresi per osservarne la differenza.

esempio 1
find: restituisce il timestamp
1
2
3
4
5
SELECT *
FROM sql_articoli
WHERE MATCH (title, body)
AGAINST ('restituisce il timestamp' IN BOOLEAN MODE)
In questo esempio vengono cercati e trovati tutti i record che includono le parole restituisce - il - timestamp.
La parola "il" che si vede evidenziata in alcuni record viene mostrata solo perchè contenuta in record restituiti per la presenza di altre parole.
9 record letti
id title body
1 La funzione PHP strpos La funzione strpos() trova e restituisce la posizione della prima occorrenza di una stringa in un'altra stringa.
3 La funzione PHP substr Questa funzione restituisce parte di una stringa che viene individuata dai parametri start e length.
4 La funzione PHP time La funzione time() restituisce l'attuale UNIX timestamp cioè l'ora corrente misurato in numero di secondi dalla Unix Epoch.
5 La funzione mktime La funzione PHP mktime() restituisce il timestamp UNIX di una certa data, ovvero il numero di secondi trascorsi dal 1 gennaio 1970 alla data in esame.
11 Name, Path, FullName Per acquisire queste informazioni VBA ci mette a disposizione tre proprietà dell'oggetto Workbook:.
Name: che restituisce il nome della cartella
Path: che restituisce il percorso, sul disco, dove è memorizzata la nostra cartella
FullName: che riunisce le due precedenti proprietà.
Queste tre proprietà dell'oggetto Workbook ci possono tornare utili in più di una circostanza tra cui la possibilità di salvare la cartella o uno dei fogli di questa.
12 La funzione strlen() La funzione strlen() restituisce la lunghezza di una stringa.
Conoscere la lunghezza di una stringa può determinare a volte l'esecuzione o meno di un blocco di codice
13 La funzione count_chars() La funzione count_chars(), da non confondere con la funzione strlen(), restituisce informazioni sui caratteri utilizzati in una stringa (ad esempio, quante volte un carattere ASCII compare in una stringa). restituisce i risultati in vari modi, a seconda del secondo argomento facoltativo.
14 funzione SUBSTRING_INDEX() La funzione SUBSTRING_INDEX() restituisce la sottostringa dalla stringa dando un determinato numero di occorrenze di un delimitatore.
La stringa restituita dalla sinistra del delimitatore finale quando il numero specificato è un numero positivo e da destra del delimitatore finale quando il numero specificato è un numero negativo.
Se il numero specificato è maggiore del numero di occorrenza di delimitatore, la stringa restituita sarà la stringa totale.
16 funzione LOCATE() La funzione LOCATE() restituisce la posizione della prima occorrenza di una sottostringa in una stringa. Se come terzo argomento viene passato anche un numero la ricerca inizia dalla posizione indicata da tale numero.
esempio 2
find: "restituisce il timestamp"
1
2
3
4
5
SELECT *
FROM sql_articoli
WHERE MATCH (title, body)
AGAINST ('"restituisce il timestamp"' IN BOOLEAN MODE)
La stringa di ricerca è racchiusa tra una coppia di doppi apici per cercare
esattamente quanto è descritto nell'intera stringa e non le singole parole
1 record letti
id title body
5 La funzione mktime La funzione PHP mktime() restituisce il timestamp UNIX di una certa data, ovvero il numero di secondi trascorsi dal 1 gennaio 1970 alla data in esame.
esempio 3
find: funzione CERCA.VERTICALE CONCATENA
1
2
3
4
5
SELECT *
FROM sql_articoli
WHERE MATCH (title, body)
AGAINST ('funzione CERCA.VERTICALE CONCATENA' IN BOOLEAN MODE)
La stessa Query eseguita in NATURAL LANGUAGE restituiva solo 3 record.
18 record letti
id title body
1 La funzione PHP strpos La funzione strpos() trova e restituisce la posizione della prima occorrenza di una stringa in un'altra stringa.
2 La funzione PHP substr_count La funzione substr_count() Conta il numero di occorrenze di una sottostringa.
3 La funzione PHP substr Questa funzione restituisce parte di una stringa che viene individuata dai parametri start e length.
4 La funzione PHP time La funzione time() restituisce l'attuale UNIX timestamp cioè l'ora corrente misurato in numero di secondi dalla Unix Epoch.
5 La funzione mktime La funzione PHP mktime() restituisce il timestamp UNIX di una certa data, ovvero il numero di secondi trascorsi dal 1 gennaio 1970 alla data in esame.
6 Piccolo tutorial per opendir La funzione opendir() apre l'handle della directory, ossia un canale che permette la comunicazione con la directory da usare nelle chiamate alla funzione readdir() e alla funzione closedir().
12 La funzione strlen() La funzione strlen() restituisce la lunghezza di una stringa.
Conoscere la lunghezza di una stringa può determinare a volte l'esecuzione o meno di un blocco di codice
13 La funzione count_chars() La funzione count_chars(), da non confondere con la funzione strlen(), restituisce informazioni sui caratteri utilizzati in una stringa (ad esempio, quante volte un carattere ASCII compare in una stringa). Restituisce i risultati in vari modi, a seconda del secondo argomento facoltativo.
14 funzione SUBSTRING_INDEX() La funzione SUBSTRING_INDEX() restituisce la sottostringa dalla stringa dando un determinato numero di occorrenze di un delimitatore.
La stringa restituita dalla sinistra del delimitatore finale quando il numero specificato è un numero positivo e da destra del delimitatore finale quando il numero specificato è un numero negativo.
Se il numero specificato è maggiore del numero di occorrenza di delimitatore, la stringa restituita sarà la stringa totale.
15 Nidificazione della funzione SUBSTRING_INDEX() Se si vuole estrarre una delle parti mediane di una stringa è necessario nidificare la funzione SUBSTRING_INDEX().
Come esempi propongo:
l'estrazione della parte letterale di un codice del tipo '000_xxxxx_000'
l'estrazione delle singole parti di un indirizzo IP
16 funzione LOCATE() La funzione LOCATE() restituisce la posizione della prima occorrenza di una sottostringa in una stringa. Se come terzo argomento viene passato anche un numero la riCERCA inizia dalla posizione indicata da tale numero.
17 Un esempio pratico su una vera tabella MYSQL ora vediamo di usare la funzione LOCATE() nella tabella sql_rubrica per CERCAre la posizione che occupano il carattere separatore '_' nel campo 'codice'. Sapendo che nel campo troveremo due di questi caratteri separatori usiamo una sola nidificazione della funzione come mostrato qui di seguito.
18 funzioni UPPER() e LOWER() Le due funzioni sono sinonimi delle funzioni MYSQL UCASE() e LCASE(), quindi si comportano allo stesso modo. La funzione UPPER() ritorna una stringa di lettere maiuscole, e la funzione LOWER() la rende minuscola.
19 funzione REPLACE() La funzione REPLACE() può essere utilizzata per cambiare il contenuto di un record estratto da un DB. E' possibile sostituire un dato valore all'interno di uno specifico campo in maniera semplice e può essere messa in opera con una semplice istruzione SQL utilizzando la funzione REPLACE() messa a disposizione nativamente dal DBMS MySQL.
20 RiCERCA per numero telefonico Togliendo gli spazi ed altri eventuali caratteri separatori è possibile eseguire il controllo solo sulle vere cifre che compongono il numero. Questa operazione di pulizia viene effettuata usando la funzione REPLACE(). Se necessario è possibile usare anche più funzioni REPLACE() nidificate.
27 Le funzioni Somma Se e CONCATENA() Combinazione delle funzioni SOMMA(), SE() e CONCATENA().
Il confronto si esegue tra due coppie di valori per rispondere al quesito:
esegui la somma dei valori che si trovano nella colonna F se l'articolo che sta nella colonna C e se il suo colore che è indicato nella colonna D sono uguali all'articolo indicato nella cella C16 e al colore che ho indicato nella cella C17.
28 Le funzioni VAL.ERR e SE In queste formule usiamo ben tre funzioni del foglio di Excel:
la funzione SE
la funzione VAL.ERRORE
la funzione CERCA.VERTICALE
29 Il pulsante CERCA Successivo Il numero del campo in cui CERCARE i dati ci viene fornito dalla proprietà ListIndex della ComboBox aumentata di una unità.
Occorre effettuare questo calcolo perchè la ListIndex è a base 0 (zero), mentre la matrice dei campi è stata creata a base 1
Trovato il campo da cui prelevare i dati da inserire nella ComboBox2, scorriamo la matrice Matrice leggendono solo i valori relativi a quel campo.
esempio 4
find: tabelle mysql
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('tabelle mysql' IN BOOLEAN MODE)
Cerchiamo ora di torturare le due parole tabelle mysql.
In questo primo esempio una semplice ricerca delle parole.
7 record letti
id title body
17 Un esempio pratico su una vera tabella mysql ora vediamo di usare la funzione LOCATE() nella tabella sql_rubrica per cercare la posizione che occupano il carattere separatore '_' nel campo 'codice'. Sapendo che nel campo troveremo due di questi caratteri separatori usiamo una sola nidificazione della funzione come mostrato qui di seguito.
18 funzioni UPPER() e LOWER() Le due funzioni sono sinonimi delle funzioni mysql UCASE() e LCASE(), quindi si comportano allo stesso modo. La funzione UPPER() ritorna una stringa di lettere maiuscole, e la funzione LOWER() la rende minuscola.
19 funzione REPLACE() La funzione REPLACE() può essere utilizzata per cambiare il contenuto di un record estratto da un DB. E' possibile sostituire un dato valore all'interno di uno specifico campo in maniera semplice e può essere messa in opera con una semplice istruzione SQL utilizzando la funzione REPLACE() messa a disposizione nativamente dal DBMS mysql.
21 Gestione DB Il database o banca dati o base di dati, indica un archivio dati, o un insieme di archivi, in cui le informazioni sono distribuite e a volte collegate tra loro mediante una serie di tabelle in modo da consentire in modo più o meno efficiente la gestione dei dati mediante Query (richieste o interrogazioni). Quindi iniziamo a crearci una immagine fisica su cosa è e su cosa rappresenta un DB.
22 istruzione SELECT L'istruzione SELECT, più di tutte le altre istruzioni, è senz'altro l'istruzione più usata in mysql. E' la più potente e complessa e per mezzo di essa è possibile richiamare e mostrare i dati dalle tabelle esistenti nel DB mostrandoli nei modi più vari. Ad essa vengono associate, opzionalmente, quasi tutte le altre istruzioni e clausole di cui dispone il dialetto mysql. E' capace di richiamare e mostrare informazioni usando una infinità di modi.
24 Le tabelle In ambito mysql le tabelle sono le strutture principali di un DB. Una tabella è organizzata da un insieme di record (di righe) che hanno lo stesso numero e tipo di campi. La tabella organizza quindi i record essendo questa, strutturata in righe (record)e colonne (campi).
Ogni tabella contiene almeno un record ed almeno un campo.
25 Introduzione al DB Con mysql le pagine diventano ancora più interessanti e dinamiche in quanto ogni pagina può mostrare innumerevoli viste dipendenti dalle richieste in lettura e/o scrittura fatte al DB.
esempio 5
find: +tabelle mysql
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('+tabelle mysql' IN BOOLEAN MODE)
Aggiungendo l'operatore + davanti alla prima parola (+tabelle) mostriamo
i record che contengono la prima parola e, eventualmente, la seconda parola.
3 record letti
id title body
21 Gestione DB Il database o banca dati o base di dati, indica un archivio dati, o un insieme di archivi, in cui le informazioni sono distribuite e a volte collegate tra loro mediante una serie di tabelle in modo da consentire in modo più o meno efficiente la gestione dei dati mediante Query (richieste o interrogazioni). Quindi iniziamo a crearci una immagine fisica su cosa è e su cosa rappresenta un DB.
22 istruzione SELECT L'istruzione SELECT, più di tutte le altre istruzioni, è senz'altro l'istruzione più usata in mysql. E' la più potente e complessa e per mezzo di essa è possibile richiamare e mostrare i dati dalle tabelle esistenti nel DB mostrandoli nei modi più vari. Ad essa vengono associate, opzionalmente, quasi tutte le altre istruzioni e clausole di cui dispone il dialetto mysql. E' capace di richiamare e mostrare informazioni usando una infinità di modi.
24 Le tabelle In ambito mysql le tabelle sono le strutture principali di un DB. Una tabella è organizzata da un insieme di record (di righe) che hanno lo stesso numero e tipo di campi. La tabella organizza quindi i record essendo questa, strutturata in righe (record)e colonne (campi).
Ogni tabella contiene almeno un record ed almeno un campo.
esempio 6
find: tabelle +mysql
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('tabelle +mysql' IN BOOLEAN MODE)
Avviene il contrario di quanto appena visto.
Aggiungendo l'operatore + davanti alla seconda parola (+mysql) vengono
mostrati i record che contengono questa parola e, eventualmente anche
la seconda.
6 record letti
id title body
17 Un esempio pratico su una vera tabella mysql ora vediamo di usare la funzione LOCATE() nella tabella sql_rubrica per cercare la posizione che occupano il carattere separatore '_' nel campo 'codice'. Sapendo che nel campo troveremo due di questi caratteri separatori usiamo una sola nidificazione della funzione come mostrato qui di seguito.
18 funzioni UPPER() e LOWER() Le due funzioni sono sinonimi delle funzioni mysql UCASE() e LCASE(), quindi si comportano allo stesso modo. La funzione UPPER() ritorna una stringa di lettere maiuscole, e la funzione LOWER() la rende minuscola.
19 funzione REPLACE() La funzione REPLACE() può essere utilizzata per cambiare il contenuto di un record estratto da un DB. E' possibile sostituire un dato valore all'interno di uno specifico campo in maniera semplice e può essere messa in opera con una semplice istruzione SQL utilizzando la funzione REPLACE() messa a disposizione nativamente dal DBMS mysql.
22 istruzione SELECT L'istruzione SELECT, più di tutte le altre istruzioni, è senz'altro l'istruzione più usata in mysql. E' la più potente e complessa e per mezzo di essa è possibile richiamare e mostrare i dati dalle tabelle esistenti nel DB mostrandoli nei modi più vari. Ad essa vengono associate, opzionalmente, quasi tutte le altre istruzioni e clausole di cui dispone il dialetto mysql. E' capace di richiamare e mostrare informazioni usando una infinità di modi.
24 Le tabelle In ambito mysql le tabelle sono le strutture principali di un DB. Una tabella è organizzata da un insieme di record (di righe) che hanno lo stesso numero e tipo di campi. La tabella organizza quindi i record essendo questa, strutturata in righe (record)e colonne (campi).
Ogni tabella contiene almeno un record ed almeno un campo.
25 Introduzione al DB Con mysql le pagine diventano ancora più interessanti e dinamiche in quanto ogni pagina può mostrare innumerevoli viste dipendenti dalle richieste in lettura e/o scrittura fatte al DB.
esempio 7
find: +tabelle +mysql
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('+tabelle +mysql' IN BOOLEAN MODE)
In questo esempio vengono cercati i record che contengono entrambe
le parole tabelle - mysql.
2 record letti
id title body
22 istruzione SELECT L'istruzione SELECT, più di tutte le altre istruzioni, è senz'altro l'istruzione più usata in mysql. E' la più potente e complessa e per mezzo di essa è possibile richiamare e mostrare i dati dalle tabelle esistenti nel DB mostrandoli nei modi più vari. Ad essa vengono associate, opzionalmente, quasi tutte le altre istruzioni e clausole di cui dispone il dialetto mysql. E' capace di richiamare e mostrare informazioni usando una infinità di modi.
24 Le tabelle In ambito mysql le tabelle sono le strutture principali di un DB. Una tabella è organizzata da un insieme di record (di righe) che hanno lo stesso numero e tipo di campi. La tabella organizza quindi i record essendo questa, strutturata in righe (record)e colonne (campi).
Ogni tabella contiene almeno un record ed almeno un campo.
esempio 8
find: +tabelle -mysql
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('+tabelle -mysql' IN BOOLEAN MODE)
In questo esempio vengono cercati i record che contengono la parola
tabelle ma non mysql.
1 record letti
id title body
21 Gestione DB Il database o banca dati o base di dati, indica un archivio dati, o un insieme di archivi, in cui le informazioni sono distribuite e a volte collegate tra loro mediante una serie di tabelle in modo da consentire in modo più o meno efficiente la gestione dei dati mediante Query (richieste o interrogazioni). Quindi iniziamo a crearci una immagine fisica su cosa è e su cosa rappresenta un DB.
esempio 9
find: tab* mysql
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('tab* mysql' IN BOOLEAN MODE)
Con l'asterisco intendiamo ottenere tutti quei record che contengono
porzioni della stringa indicata prima dell'asterisco.
7 record letti
id title body
17 Un esempio pratico su una vera tabella mysql ora vediamo di usare la funzione LOCATE() nella tabella sql_rubrica per cercare la posizione che occupano il carattere separatore '_' nel campo 'codice'. Sapendo che nel campo troveremo due di questi caratteri separatori usiamo una sola nidificazione della funzione come mostrato qui di seguito.
18 funzioni UPPER() e LOWER() Le due funzioni sono sinonimi delle funzioni mysql UCASE() e LCASE(), quindi si comportano allo stesso modo. La funzione UPPER() ritorna una stringa di lettere maiuscole, e la funzione LOWER() la rende minuscola.
19 funzione REPLACE() La funzione REPLACE() può essere utilizzata per cambiare il contenuto di un record estratto da un DB. E' possibile sostituire un dato valore all'interno di uno specifico campo in maniera semplice e può essere messa in opera con una semplice istruzione SQL utilizzando la funzione REPLACE() messa a disposizione nativamente dal DBMS mysql.
22 istruzione SELECT L'istruzione SELECT, più di tutte le altre istruzioni, è senz'altro l'istruzione più usata in mysql. E' la più potente e complessa e per mezzo di essa è possibile richiamare e mostrare i dati dalle tabelle esistenti nel DB mostrandoli nei modi più vari. Ad essa vengono associate, opzionalmente, quasi tutte le altre istruzioni e clausole di cui dispone il dialetto mysql. E' capace di richiamare e mostrare informazioni usando una infinità di modi.
24 Le tabelle In ambito mysql le tabelle sono le strutture principali di un DB. Una tabella è organizzata da un insieme di record (di righe) che hanno lo stesso numero e tipo di campi. La tabella organizza quindi i record essendo questa, strutturata in righe (record)e colonne (campi).
Ogni tabella contiene almeno un record ed almeno un campo.
21 Gestione DB Il database o banca dati o base di dati, indica un archivio dati, o un insieme di archivi, in cui le informazioni sono distribuite e a volte collegate tra loro mediante una serie di tabelle in modo da consentire in modo più o meno efficiente la gestione dei dati mediante Query (richieste o interrogazioni). Quindi iniziamo a crearci una immagine fisica su cosa è e su cosa rappresenta un DB.
25 Introduzione al DB Con mysql le pagine diventano ancora più interessanti e dinamiche in quanto ogni pagina può mostrare innumerevoli viste dipendenti dalle richieste in lettura e/o scrittura fatte al DB.
esempio 10
find: "tabelle mysql"
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('"tabelle mysql"' IN BOOLEAN MODE)
Racchiudendo le parole in una coppia di doppi apici intendiamo ottenere
record che contengono esattamente quelle parole e nella stessa sequenza.
in questo esempio non viene reso alcun record.
Nessun record restituito
esempio 11
find: "funzione PHP"
1
2
3
4
5
SELECT * 
FROM sql_articoli 
WHERE MATCH(title,body) 
AGAINST ('"funzione PHP"' IN BOOLEAN MODE)
A riprova di quanto visto sopra vediamo di cercare una sequenza di parole
che sicuramente sono contenute in qualche record.
5 record letti
id title body
1 La funzione PHP strpos La funzione strpos() trova e restituisce la posizione della prima occorrenza di una stringa in un'altra stringa.
2 La funzione PHP substr_count La funzione substr_count() Conta il numero di occorrenze di una sottostringa.
3 La funzione PHP substr Questa funzione restituisce parte di una stringa che viene individuata dai parametri start e length.
4 La funzione PHP time La funzione time() restituisce l'attuale UNIX timestamp cioè l'ora corrente misurato in numero di secondi dalla Unix Epoch.
5 La funzione mktime La funzione PHP mktime() restituisce il timestamp UNIX di una certa data, ovvero il numero di secondi trascorsi dal 1 gennaio 1970 alla data in esame.

 

 



settore tecnico il sito di lorettabweb il Forum di sostegno
il forum il forum il forum