Un booleano è il tipo di dati più semplice che restituisce sempre due possibili valori, vero o falso. Può sempre essere utilizzato per ottenere una conferma sotto forma di valore SÌ o No.
MySQL non contiene tipi di dati Booleani o Bool incorporati. Forniscono a PICCOLOINT tipo di dati anziché tipi di dati booleani o bool. MySQL considerato il valore zero come falso e il valore diverso da zero come vero. Se desideri utilizzare valori letterali booleani, utilizza true o false che restituiscono sempre il valore 0 e 1. 0 e 1 rappresentano i valori interi.
Eseguire la seguente istruzione per visualizzare i valori interi dei letterali booleani:
Mysql> Select TRUE, FALSE, true, false, True, False;
Dopo l'esecuzione riuscita, viene visualizzato il seguente risultato:
Esempio booleano MySQL
Possiamo memorizzare un valore booleano nella tabella MySQL come tipo di dati intero. Creiamo una tabella studentesca che dimostri l'uso del tipo di dati booleano in MySQL:
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
Nella query precedente, possiamo vedere che il campo pass è definito come booleano quando viene mostrata la definizione di una tabella; contiene TINIINT come segue:
hashmap
mysql> DESCRIBE student;
Aggiungiamo due nuove righe nella tabella sopra con l'aiuto della seguente query:
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
Quando viene eseguita la query precedente, MySQL verifica immediatamente il tipo di dati booleano nella tabella. Se vengono trovati i valori letterali booleani, verranno convertiti nei valori interi 0 e 1. Esegui la seguente query per ottenere i dati dalla tabella degli studenti:
Mysql> SELECT studentid, name, pass FROM student;
Otterrai il seguente output in cui il valore letterale vero e falso viene convertito nei valori 0 e 1.
Poiché MySQL utilizza sempre TINYINT come booleano, possiamo anche inserire qualsiasi valore intero nella colonna booleana. Eseguire la seguente istruzione:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
Otterrai il seguente risultato:
In alcuni casi, è necessario ottenere il risultato in valori letterali vero e falso. In tal caso, è necessario eseguire la funzione if() con l'istruzione select come segue:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
Fornirà il seguente output:
Operatori booleani MySQL
MySQL ci consente anche di utilizzare operatori con il tipo di dati booleano. Esegui la seguente query per ottenere tutti i risultati del passaggio della tabella student.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
Questa istruzione restituisce il seguente output:
L'istruzione precedente restituisce il risultato del passaggio solo se il valore è uguale a 1. Possiamo risolverlo utilizzando il È operatore. Questo operatore convalida il valore con il valore booleano. La seguente dichiarazione spiega ciò:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
Dopo aver eseguito questa istruzione, otterrai il seguente risultato:
Se vuoi vedere il risultato in sospeso, usa È FALSO O NON È VERO operatore come di seguito:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
Otterrai il seguente output: