Um Booleano é o tipo de dados mais simples que sempre retorna dois valores possíveis, verdadeiro ou falso. Pode sempre ser usado para obter uma confirmação na forma de valor SIM ou Não.
O MySQL não contém tipos de dados Booleanos ou Bool integrados. Eles fornecem um TINYINT tipo de dados em vez de tipos de dados Booleanos ou Bool. MySQL considerou o valor zero como falso e o valor diferente de zero como verdadeiro. Se você quiser usar literais booleanos, use verdadeiro ou falso que sempre avalia os valores 0 e 1. O 0 e 1 representam os valores inteiros.
Execute a seguinte instrução para ver os valores inteiros dos literais booleanos:
Mysql> Select TRUE, FALSE, true, false, True, False;
Após a execução bem-sucedida, o seguinte resultado aparece:
Exemplo booleano do MySQL
Podemos armazenar um valor booleano na tabela MySQL como um tipo de dados inteiro. Vamos criar uma tabela student que demonstra o uso do tipo de dados booleano no MySQL:
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
Na consulta acima, podemos ver que o campo pass é definido como booleano ao mostrar a definição de uma tabela; contém TINIINT da seguinte forma:
js carregar
mysql> DESCRIBE student;
Vamos adicionar duas novas linhas na tabela acima com a ajuda da seguinte consulta:
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
Quando a consulta acima é executada, imediatamente o MySQL verifica o tipo de dados booleano na tabela. Se os literais booleanos forem encontrados, eles serão convertidos em valores inteiros 0 e 1. Execute a seguinte consulta para obter os dados da tabela do aluno:
Mysql> SELECT studentid, name, pass FROM student;
Você obterá a seguinte saída onde o literal verdadeiro e falso é convertido em valores 0 e 1.
Como o MySQL sempre usa TINYINT como Booleano, também podemos inserir quaisquer valores inteiros na coluna Booleana. Execute a seguinte instrução:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
Você obterá o seguinte resultado:
Em alguns casos, você precisa obter o resultado em literais verdadeiros e falsos. Nesse caso, você precisa executar a função if() com a instrução select da seguinte maneira:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
Ele dará a seguinte saída:
Operadores Booleanos MySQL
O MySQL também nos permite usar operadores com o tipo de dados Booleano. Execute a seguinte consulta para obter todos os resultados de aprovação da tabela student.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
Esta instrução retorna a seguinte saída:
A instrução acima só retorna o resultado da aprovação se o valor for igual a 1. Podemos consertar isso usando o É operador. Este operador valida o valor com o valor booleano. A seguinte declaração explica isso:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
Após executar esta instrução, você obterá o seguinte resultado:
Se você quiser ver o resultado pendente, use É FALSO ou NÃO É VERDADE operador conforme abaixo:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
Você obterá a seguinte saída: