logo

MySQL Boolean

Boolean je nejjednodušší datový typ, který vždy vrací dvě možné hodnoty, buď true nebo false. Vždy lze použít k získání potvrzení ve formě hodnoty ANO nebo Ne.

MySQL neobsahuje vestavěný datový typ Boolean nebo Bool. Poskytují a TINYINT datový typ namísto datových typů Boolean nebo Bool. MySQL nulovou hodnotu považoval za nepravdivou a nenulovou hodnotu za pravdivou. Pokud chcete použít booleovské literály, použijte true nebo false, které se vždy vyhodnotí jako 0 a 1. 0 a 1 představují celočíselné hodnoty.

Chcete-li zobrazit celočíselné hodnoty booleovských literálů, proveďte následující příkaz:

 Mysql> Select TRUE, FALSE, true, false, True, False; 

Po úspěšném provedení se zobrazí následující výsledek:

MySQL Boolean

Booleovský příklad MySQL

Booleovskou hodnotu můžeme uložit do tabulky MySQL jako celočíselný datový typ. Vytvořme studenta tabulky, který demonstruje použití datového typu Boolean v MySQL:

 mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN ); 

Ve výše uvedeném dotazu vidíme, že pole pass je definováno jako booleovské, když se zobrazuje definice tabulky; obsahuje TINIINT takto:

javafx
 mysql> DESCRIBE student; 

MySQL Boolean

Přidejte dva nové řádky do výše uvedené tabulky pomocí následujícího dotazu:

 mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false); 

Po provedení výše uvedeného dotazu MySQL okamžitě zkontroluje typ dat Boolean v tabulce. Pokud byly nalezeny booleovské literály, budou převedeny na celočíselné hodnoty 0 a 1. Provedením následujícího dotazu získáte data ze studentské tabulky:

 Mysql> SELECT studentid, name, pass FROM student; 

Získáte následující výstup, kde se pravdivý a nepravdivý literál převede na hodnotu 0 a 1.

MySQL Boolean

Protože MySQL vždy používá TINYINT jako booleovský, můžeme do booleovského sloupce vložit také libovolné celočíselné hodnoty. Proveďte následující příkaz:

 Mysql> INSERT INTO student(name, pass) VALUES('Miller',2); 

Získáte následující výsledek:

MySQL Boolean

V některých případech potřebujete získat výsledek v pravdivých a nepravdivých literálech. V takovém případě musíte provést funkci if() pomocí příkazu select následovně:

 Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1; 

Poskytne následující výstup:

MySQL Boolean

Booleovské operátory MySQL

MySQL nám také umožňuje používat operátory s datovým typem Boolean. Provedením následujícího dotazu získáte všechny výsledky úspěšnosti tabulky student.

 SELECT studentid, name, pass FROM student1 WHERE pass = TRUE; 

Tento příkaz vrátí následující výstup:

MySQL Boolean

Výše uvedený příkaz vrátí výsledek průchodu pouze v případě, že je hodnota rovna 1. Můžeme to opravit pomocí JE operátor. Tento operátor ověřuje hodnotu pomocí booleovské hodnoty. Vysvětluje to následující prohlášení:

 SELECT studentid, name, pass FROM student1 WHERE pass is TRUE; 

Po provedení tohoto příkazu získáte následující výsledek:

MySQL Boolean

Pokud chcete vidět čekající výsledek, použijte JE NEPRAVDA nebo NENÍ PRAVDA operátor, jak je uvedeno níže:

 SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE; 

Získáte následující výstup:

MySQL Boolean