En boolsk er den enkleste datatypen som alltid returnerer to mulige verdier, enten sant eller usant. Det kan alltid brukes til å få en bekreftelse i form av JA eller Nei verdi.
MySQL inneholder ikke innebygd boolsk eller boolsk datatype. De gir en TINYINT datatype i stedet for boolske eller boolske datatyper. MySQL betraktet verdi null som usann og verdi som ikke er null som sann. Hvis du vil bruke boolske bokstaver, bruk sant eller usant som alltid evalueres til 0 og 1 verdi. 0 og 1 representerer heltallsverdiene.
Utfør følgende setning for å se heltallsverdiene til boolske bokstaver:
Mysql> Select TRUE, FALSE, true, false, True, False;
Etter vellykket utførelse vises følgende resultat:
MySQL boolsk eksempel
Vi kan lagre en boolsk verdi i MySQL-tabellen som en heltallsdatatype. La oss lage en tabellstudent som demonstrerer bruken av boolsk datatype i MySQL:
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
I spørringen ovenfor kan vi se at pass-feltet er definert som en boolsk når vi viser definisjonen av en tabell; den inneholder TINIINT som følger:
hvordan lese fra en csv-fil i java
mysql> DESCRIBE student;
La oss legge til to nye rader i tabellen ovenfor ved hjelp av følgende spørring:
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
Når spørringen ovenfor er utført, sjekker MySQL umiddelbart etter den boolske datatypen i tabellen. Hvis de boolske bokstavene blir funnet, vil de bli konvertert til heltallsverdier 0 og 1. Utfør følgende spørring for å hente dataene fra elevtabellen:
Mysql> SELECT studentid, name, pass FROM student;
Du vil få følgende utgang der sann og usann bokstavelig blir konvertert til 0 og 1 verdi.
Siden MySQL alltid bruker TINYINT som boolsk, kan vi også sette inn eventuelle heltallsverdier i den boolske kolonnen. Utfør følgende setning:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
Du vil få følgende resultat:
I noen tilfeller må du få resultatet i sanne og falske bokstaver. I så fall må du utføre if()-funksjonen med select-setningen som følger:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
Det vil gi følgende utgang:
MySQL boolske operatører
MySQL lar oss også bruke operatører med den boolske datatypen. Utfør følgende spørring for å få alle bestått-resultatene til tabellstudent.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
Denne setningen returnerer følgende utdata:
Utsagnet ovenfor returnerer bare bestått-resultatet hvis verdien er lik 1. Vi kan fikse det ved å bruke ER operatør. Denne operatøren validerer verdien med den boolske verdien. Følgende uttalelse forklarer dette:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
Etter å ha utført denne setningen, vil du få følgende resultat:
Hvis du vil se det ventende resultatet, bruk ER FALSKT eller DET ER IKKE SANT operatør som nedenfor:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
Du vil få følgende utgang: