logo

MySQL Boolean

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 Boolean

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; 

MySQL Boolean

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.

MySQL Boolean

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:

MySQL Boolean

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 Boolean

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:

MySQL Boolean

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:

MySQL Boolean

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:

MySQL Boolean