Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

PHP और MySQL में 'बूलियन' मानों को कैसे संभालें?


MySQL में बूलियन डेटा प्रकार समझना

MySQL 8.0.12 में बूलियन मानों को संभालने के लिए आप BOOL, BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। जब आप BOOL या BOOLEAN का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे TINYINT(1) में परिवर्तित कर देता है।

बूलियन लिटरल का प्रतिनिधित्व

BOOL या BOOLEAN डेटा प्रकार में, true लिटरल को 1 के रूप में और false लिटरल को 0 के रूप में दर्शाया जाता है, ठीक वैसे ही जैसे PHP, C, या C++ में होता है।

व्यावहारिक प्रदर्शन

आइए एक टेबल बनाकर देखते हैं कि MySQL कैसे BOOLEAN को TINYINT(1) में बदलता है:

mysql> CREATE TABLE BoolOrBooleanOrTinyintDemo (
    Id INT NOT NULL AUTO_INCREMENT,
    isvalidAddress BOOLEAN,
    PRIMARY KEY(Id)
);

अब SHOW CREATE TABLE का उपयोग करके टेबल की संरचना जांचते हैं:

mysql> SHOW CREATE TABLE BoolOrBooleanOrTinyintDemo\G

आउटपुट:

CREATE TABLE `boolorbooleanortinyintdemo` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `isvalidAddress` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

जैसा कि आप देख सकते हैं, isvalidAddress कॉलम का डेटा प्रकार BOOLEAN आंतरिक रूप से tinyint(1) में बदल गया है।

रिकॉर्ड डालना और जांचना

अब true और false लिटरल मानों के साथ रिकॉर्ड डालते हैं:

mysql> INSERT INTO BoolOrBooleanOrTinyintDemo(isvalidAddress) VALUES(true);
mysql> INSERT INTO BoolOrBooleanOrTinyintDemo(isvalidAddress) VALUES(false);
mysql> INSERT INTO BoolOrBooleanOrTinyintDemo(isvalidAddress) VALUES(true);
mysql> INSERT INTO BoolOrBooleanOrTinyintDemo(isvalidAddress) VALUES(false);
mysql> INSERT INTO BoolOrBooleanOrTinyintDemo(isvalidAddress) VALUES(true);

सभी रिकॉर्ड देखने के लिए:

mysql> SELECT * FROM BoolOrBooleanOrTinyintDemo;

आउटपुट:

+----+----------------+
| Id | isvalidAddress |
+----+----------------+
|  1 |              1 |
|  2 |              0 |
|  3 |              1 |
|  4 |              0 |
|  5 |              1 |
+----+----------------+

यह स्पष्ट रूप से दिखाता है कि true को 1 और false को 0 के रूप में संग्रहीत किया जाता है।

PHP में बूलियन मान

PHP में भी यही व्यवहार लागू होता है। true को 1 और false को 0 के रूप में दर्शाया जाता है।

उदाहरण 1: True मान

<?php
$isValidAddress = 1;
if($isValidAddress) {
    echo 'true is represented as ' . $isValidAddress;
} else {
    echo 'false is represented as ' . $isValidAddress;
}
?>

आउटपुट: true is represented as 1

उदाहरण 2: False मान

<?php
$isValidAddress = 0;
if($isValidAddress) {
    echo 'true is represented as ' . $isValidAddress;
} else {
    echo 'false is represented as ' . $isValidAddress;
}
?>

आउटपुट: false is represented as 0

निष्कर्ष

MySQL में BOOL/BOOLEAN केवल TINYINT(1) के लिए समानार्थी हैं। PHP और MySQL दोनों में बूलियन मानों का संख्यात्मक प्रतिनिधित्व समान होता है (true=1, false=0), जिससे दोनों के बीच निर्बाध एकीकरण संभव होता है।

  1. - MySQL में कॉमा सेपरेटेड मानों के साथ रैंडम पंक्तियाँ कैसे प्राप्त करें?

    MySQL में रैंडम पंक्तियाँ प्राप्त करने के लिए ORDER BY RAND() का उपयोग किया जाता है। यदि आपके कॉलम में कॉमा सेपरेटेड मान हैं, तो आप NOT IN के साथ फ़िल्टर करके रैंडम परिणाम ले सकते हैं। टेबल बनाएं और डेटा डालें mysql> CREATE TABLE DemoTable1835 ( ListOfIds VARCHAR(20) ); mysql> INSERT INT

  1. - एकल MySQL क्वेरी में एक कॉलम में एकाधिक मान कैसे डालें?

    सिंटैक्स एक कॉलम में एकाधिक मान डालने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: INSERT INTO yourTableName VALUES (yourValue1), (yourValue2), ... (yourValueN); उदाहरण सबसे पहले एक टेबल बनाते हैं: ); अब INSERT कमांड का उपयोग करके रिकॉर्ड डालें: INSERT INTO DemoTable2022 VALUES (Computer Science)

  1. - PHP में null मान कैसे हटाएं?

    PHP में null मान हटाने के लिए array_filter() का उपयोग करें। यह सरणी मानों को फ़िल्टर करता है। मान लीजिए हमारी सरणी निम्न है: null); echo The original value is=; print_r($studentDetails); array_filter() के साथ फ़िल्टर करें: $result = array_filter($studentDetails); उदाहरण null); echo The origina