Boolen arvo on yksinkertaisin tietotyyppi, joka palauttaa aina kaksi mahdollista arvoa, joko tosi tai epätosi. Sitä voidaan aina käyttää saadakseen vahvistuksen KYLLÄ tai Ei-arvon muodossa.
MySQL ei sisällä sisäänrakennettua Bool- tai Bool-tietotyyppiä. Ne tarjoavat a TINYINT tietotyyppi Bool- tai Bool-tietotyyppien sijaan. MySQL piti arvoa nolla vääränä ja nollasta poikkeavaa arvoa tosi. Jos haluat käyttää Boolen literaaleja, käytä arvoa tosi tai epätosi, joka antaa aina arvot 0 ja 1. 0 ja 1 edustavat kokonaislukuarvoja.
Suorita seuraava käsky nähdäksesi Boolen literaalien kokonaislukuarvot:
Mysql> Select TRUE, FALSE, true, false, True, False;
Onnistuneen suorituksen jälkeen näyttöön tulee seuraava tulos:
MySQL Boolen esimerkki
Voimme tallentaa Boolen arvon MySQL-taulukkoon kokonaislukutietotyyppinä. Luodaan taulukkoopiskelija, joka näyttää Boolen tietotyypin käytön MySQL:ssä:
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
Yllä olevassa kyselyssä voimme nähdä, että hyväksyntäkenttä on määritetty Boolen kenttään, kun näytetään taulukon määritelmä; se sisältää TINIINTin seuraavasti:
tietokanta
mysql> DESCRIBE student;
Lisätään kaksi uutta riviä yllä olevaan taulukkoon seuraavan kyselyn avulla:
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
Kun yllä oleva kysely suoritetaan, MySQL tarkistaa välittömästi Boolen tietotyypin taulukosta. Jos Boolen literaalit löytyvät, se muunnetaan kokonaislukuarvoiksi 0 ja 1. Suorita seuraava kysely saadaksesi tiedot opiskelijataulukosta:
Mysql> SELECT studentid, name, pass FROM student;
Saat seuraavan tulosteen, jossa tosi ja epätosi literaali muunnetaan arvoiksi 0 ja 1.
Koska MySQL käyttää aina TINYINTiä Boolen arvona, voimme myös lisätä mitä tahansa kokonaislukuarvoja Boolen sarakkeeseen. Suorita seuraava lausunto:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
Saat seuraavan tuloksen:
Joissakin tapauksissa sinun on saatava tulos oikeilla ja väärillä literaaleilla. Siinä tapauksessa sinun on suoritettava if()-funktio select-lauseella seuraavasti:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
Se antaa seuraavan tulosteen:
MySQL Boolen operaattorit
MySQL mahdollistaa myös Boolen tietotyypin operaattoreiden käytön. Suorita seuraava kysely saadaksesi kaikki taulukon opiskelijan hyväksyntätulokset.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
Tämä lauseke palauttaa seuraavan tulosteen:
Yllä oleva lauseke palauttaa hyväksymistuloksen vain, jos arvo on yhtä suuri kuin 1. Voimme korjata sen käyttämällä ON operaattori. Tämä operaattori vahvistaa arvon Boolen arvolla. Seuraava lausunto selittää tämän:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
Kun olet suorittanut tämän lausunnon, saat seuraavan tuloksen:
Jos haluat nähdä odottavan tuloksen, käytä ON EPÄTOSI tai EI OLE TOTTA operaattori alla:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
Saat seuraavan tulosteen: