Een Booleaanse waarde is het eenvoudigste gegevenstype dat altijd twee mogelijke waarden retourneert: waar of onwaar. Het kan altijd worden gebruikt om een ​​bevestiging te krijgen in de vorm van een JA- of Nee-waarde.
MySQL bevat geen ingebouwd Booleaans of Bool-gegevenstype. Zij bieden een KLEININT gegevenstype in plaats van Booleaanse of Bool-gegevenstypen. MySQL beschouwt waarde nul als onwaar en waarde die niet nul is als waar. Als u Booleaanse letterlijke waarden wilt gebruiken, gebruik dan waar of onwaar, wat altijd resulteert in de waarde 0 en 1. De 0 en 1 vertegenwoordigen de gehele waarden.
Voer de volgende instructie uit om de gehele waarden van Booleaanse letterlijke waarden te bekijken:
Mysql> Select TRUE, FALSE, true, false, True, False;
Na succesvolle uitvoering verschijnt het volgende resultaat:
MySQL Booleaans voorbeeld
We kunnen een Booleaanse waarde in de MySQL-tabel opslaan als een geheel getal-gegevenstype. Laten we een tabelstudent maken die het gebruik van het Booleaanse gegevenstype in MySQL demonstreert:
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
In de bovenstaande query kunnen we zien dat het pass-veld is gedefinieerd als een Booleaanse waarde wanneer de definitie van een tabel wordt weergegeven; het bevat TINIINT als volgt:
jfx java-tutorial
mysql> DESCRIBE student;
Laten we twee nieuwe rijen toevoegen aan de bovenstaande tabel met behulp van de volgende query:
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
Wanneer de bovenstaande query wordt uitgevoerd, controleert MySQL onmiddellijk op het Booleaanse gegevenstype in de tabel. Als de Booleaanse letterlijke getallen worden gevonden, worden deze omgezet in gehele waarden 0 en 1. Voer de volgende query uit om de gegevens uit de studententabel op te halen:
Mysql> SELECT studentid, name, pass FROM student;
U krijgt de volgende uitvoer waarbij de ware en valse letterlijke waarden worden omgezet in 0- en 1-waarden.
Omdat MySQL altijd TINYINT als Boolean gebruikt, kunnen we ook gehele getallen in de Booleaanse kolom invoegen. Voer de volgende instructie uit:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
U krijgt het volgende resultaat:
In sommige gevallen moet u het resultaat in ware en valse letterlijke waarden verkrijgen. In dat geval moet u de if()-functie als volgt uitvoeren met de select-instructie:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
Het geeft de volgende uitvoer:
MySQL Booleaanse operatoren
Met MySQL kunnen we ook operators gebruiken met het gegevenstype Boolean. Voer de volgende query uit om alle geslaagde resultaten van tabelstudent op te halen.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
Deze instructie retourneert de volgende uitvoer:
De bovenstaande verklaring retourneert alleen het pass-resultaat als de waarde gelijk is aan 1. We kunnen dit oplossen door de IS exploitant. Deze operator valideert de waarde met de Booleaanse waarde. De volgende verklaring legt dit uit:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
Na het uitvoeren van deze instructie krijgt u het volgende resultaat:
Als u het lopende resultaat wilt zien, gebruikt u IS FOUT of IS NIET WAAR exploitant zoals hieronder:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
U krijgt de volgende uitvoer: