בוליאני הוא סוג הנתונים הפשוט ביותר שמחזיר תמיד שני ערכים אפשריים, נכון או שקר. זה תמיד יכול להשתמש כדי לקבל אישור בצורה של ערך כן או לא.
MySQL אינו מכיל סוג נתונים בוליאני או בולי מובנה. הם מספקים א TINYINT סוג נתונים במקום סוגי נתונים בוליאני או בוליאני. MySQL נחשב ערך אפס כשווא וערך שאינו אפס כאמת. אם ברצונך להשתמש בספרות בוליאניות, השתמש ב-true או false שתמיד מוערך ל-0 ו-1. ה-0 ו-1 מייצגים את ערכי המספרים השלמים.
בצע את ההצהרה הבאה כדי לראות את ערכי המספרים השלמים של מילים בוליאניות:
Mysql> Select TRUE, FALSE, true, false, True, False;
לאחר ביצוע מוצלח, מופיעה התוצאה הבאה:
דוגמה בוליאנית של MySQL
אנו יכולים לאחסן ערך בוליאני בטבלת MySQL כסוג נתונים שלמים. הבה ניצור תלמיד טבלה המדגים את השימוש בסוג נתונים בוליאני ב-MySQL:
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
בשאילתה לעיל, אנו יכולים לראות ששדה המעבר מוגדר כבוליאנית כאשר מציגים את ההגדרה של טבלה; הוא מכיל TINIINT באופן הבא:
בדיקות וסוגי בדיקות
mysql> DESCRIBE student;
הבה נוסיף שתי שורות חדשות בטבלה לעיל בעזרת השאילתה הבאה:
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
כאשר השאילתה לעיל מבוצעת, MySQL בודק מיד את סוג הנתונים הבוליאניים בטבלה. אם נמצאו המילולים הבוליאניים, הם יומרו לערכי מספרים שלמים 0 ו-1. בצע את השאילתה הבאה כדי לקבל את הנתונים מטבלת התלמידים:
Mysql> SELECT studentid, name, pass FROM student;
תקבל את הפלט הבא שבו מילולית האמת והלא נכון מומרת לערך 0 ו-1.
מכיוון ש-MySQL תמיד משתמש ב-TINYINT כבוליאנית, אנו יכולים גם להוסיף כל ערכים שלמים בעמודה הבוליאנית. בצע את ההצהרה הבאה:
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
תקבל את התוצאה הבאה:
במקרים מסוימים, אתה צריך לקבל את התוצאה במילולי נכון ושקרי. במקרה זה, עליך לבצע את הפונקציה if() עם המשפט select באופן הבא:
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
זה ייתן את הפלט הבא:
אופרטורים בוליאניים של MySQL
MySQL גם מאפשר לנו להשתמש באופרטורים עם סוג הנתונים הבוליאניים. בצע את השאילתה הבאה כדי לקבל את כל תוצאת המעבר של תלמיד טבלה.
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
הצהרה זו מחזירה את הפלט הבא:
ההצהרה לעיל מחזירה את תוצאת המעבר רק אם הערך שווה ל-1. אנו יכולים לתקן זאת באמצעות ה- IS מַפעִיל. אופרטור זה מאמת את הערך עם הערך הבוליאני. ההצהרה הבאה מסבירה זאת:
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
לאחר ביצוע הצהרה זו, תקבל את התוצאה הבאה:
אם אתה רוצה לראות את התוצאה הממתינה, השתמש הוא שקר אוֹ לא נכון מפעיל כמו להלן:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
תקבל את הפלט הבא: