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

MySQL में ENUM फील्ड का उपयोग करके पंक्तियों का चयन कैसे करें?

MySQL में ENUM डेटा प्रकार पूर्वनिर्धारित मानों तक सीमित करता है। ENUM कॉलम पर क्वेरी करते समय NULL मानों और तुलना व्यवहार को समझना महत्वपूर्ण है।

ENUM तालिका बनाएं

mysql> CREATE TABLE DemoTable (
    -> EmployeeStatus ENUM('FULLTIME', 'Intern') DEFAULT NULL
    -> );

डेटा डालें

mysql> INSERT INTO DemoTable VALUES ('FULLTIME'), ('Intern'), ('Intern'), ();

डेटा

+----------------+
| EmployeeStatus |
+----------------+
| FULLTIME       |
| Intern         |
| Intern         |
| NULL           |
+----------------+

क्वेरी: 'Intern' नहीं वाले रिकॉर्ड (NULL सहित)

mysql> SELECT * FROM DemoTable
    -> WHERE EmployeeStatus IS NULL OR EmployeeStatus <> 'Intern';

परिणाम

+----------------+
| EmployeeStatus |
+----------------+
| FULLTIME       |
| NULL           |
+----------------+

महत्वपूर्ण व्यवहार

ENUM विशेषताएं

  • आंतरिक रूप से पूर्णांक के रूप में संग्रहीत (1, 2, ...)
  • सम्मिलन क्रम के अनुसार क्रमबद्ध होता है, वर्णानुक्रम नहीं
  • DEFAULT NULL स्पष्ट रूप से आवश्यक यदि NULL अनुमत है
  • अमान्य मान डालने पर खाली स्ट्रिंग '' डाला जाता है (सख्त मोड में त्रुटि)

सभी गैर-Intern (NULL सहित) प्राप्त करने के बेहतर तरीके

-- स्पष्ट NULL जांच
WHERE EmployeeStatus IS NULL OR EmployeeStatus != 'Intern'

-- या NOT IN (लेकिन NULL के साथ सावधान)
WHERE EmployeeStatus NOT IN ('Intern') -- NULL बाहर हो जाएगा!

-- सुरक्षित: COALESCE
WHERE COALESCE(EmployeeStatus, '') != 'Intern'
  1. - MySQL में चयनित पंक्तियों का आकार (आकार) कैसे प्राप्त करें?

    MySQL में CHAR_LENGTH() फ़ंक्शन का उपयोग करके स्ट्रिंग कॉलम की लंबाई (वर्णों में) प्राप्त की जा सकती है, और SUM() के साथ चयनित पंक्तियों का कुल आकार निकाला जा सकता है। सिंटैक्स SELECT SUM(CHAR_LENGTH(column_name)) FROM table_name WHERE condition; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREA

  1. - MySQL में सबसे अधिक घटनाओं वाले फील्ड मान को कैसे लौटाएं?

    MySQL में किसी कॉलम में सबसे अधिक बार आने वाले मान (मोड/Mode) को खोजने के लिए, GROUP BY के साथ COUNT(*) गिनें, फिर ORDER BY COUNT(*) DESC और LIMIT 1 से शीर्ष परिणाम लें। उदाहरण: सबसे आम FirstName खोजना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1940 (FirstName VARCHAR(20)); डेटा इन्सर्ट कर

  1. - MySQL SLES रिपॉजिटरी के साथ MySQL अपग्रेड करना

    MySQL को MySQL SLES रिपॉजिटरी का उपयोग करके अपग्रेड किया जा सकता है। आइए इस अपग्रेडेशन के लिए आवश्यक चरण देखें। डिफ़ॉल्ट रूप से, MySQL SLES रिपॉजिटरी MySQL को उस रिलीज़ सीरीज़ में नवीनतम संस्करण में अपडेट करती है जिसे उपयोगकर्ता ने इंस्टॉलेशन के दौरान चुना होगा। एक अलग रिलीज़ सीरीज़ में अपडेट करने

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
शर्तNULL के लिए परिणाम
EmployeeStatus = 'Intern'FALSE (NULL चुना नहीं जाता)
EmployeeStatus <> 'Intern'UNKNOWN (NULL चुना नहीं जाता)
EmployeeStatus IS NULLTRUE (NULL चुना जाता है)
EmployeeStatus IS NOT NULLFALSE (NULL चुना नहीं जाता)