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

MySQL में कार्डिनैलिटी क्या है?

<घंटा/>

MySQL में, कार्डिनैलिटी शब्द डेटा मानों की विशिष्टता को संदर्भित करता है जिसे कॉलम में रखा जा सकता है। यह एक तरह की संपत्ति है जो डेटा को खोजने, क्लस्टर करने और सॉर्ट करने की क्षमता को प्रभावित करती है।

कार्डिनैलिटी दो प्रकार की हो सकती है जो इस प्रकार हैं -

  • कम कार्डिनैलिटी - एक कॉलम के सभी मान समान होने चाहिए।

  • उच्च कार्डिनैलिटी - कॉलम के सभी मान अद्वितीय होने चाहिए।

उच्च कार्डिनैलिटी की अवधारणा का उपयोग तब किया जाता है जब हम डुप्लिकेट मानों को प्रतिबंधित करने के लिए किसी स्तंभ पर बाधा डालते हैं।

उच्च कार्डिनैलिटी

निम्नलिखित उच्च कार्डिनैलिटी का एक उदाहरण है, जिसमें एक स्तंभ के सभी मान अद्वितीय होने चाहिए।

mysql> तालिका बनाएं UniqueDemo1 -> ( -> id int, -> name varchar(100), ->UNIQUE(id,name) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.81 सेकंड

तालिका में रिकॉर्ड सम्मिलित करना।

mysql> UniqueDemo1 मानों (1, 'जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> UniqueDemo1 मानों में डालें (1, 'जॉन'); त्रुटि 1062 (23000):डुप्लिकेट प्रविष्टि ' 1-जॉन' कुंजी 'आईडी' के लिए

उपरोक्त में हमें एक त्रुटि मिल रही है जब हम तालिका में समान रिकॉर्ड डालते हैं।

सभी रिकॉर्ड प्रदर्शित करने के लिए।

mysql> UniqueDemo1 से *चुनें;

निम्नलिखित आउटपुट है। चूंकि, डुप्लिकेट मान के लिए, यह एक त्रुटि दिखाता है; इसलिए, अभी तालिका में केवल 1 रिकॉर्ड है, जिसे हमने पहले जोड़ा था।

<पूर्व>+----------+------+| आईडी | नाम |+----------+------+| 1 | जॉन |+------+------+1 पंक्ति सेट (0.00 सेकंड) में

कम कार्डिनैलिटी

निम्न कार्डिनैलिटी का उदाहरण।

एक टेबल बनाना।

mysql> तालिका बनाएं LowCardinality -> ( -> id int, -> name varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.71 सेकंड)

डुप्लिकेट मानों के साथ रिकॉर्ड सम्मिलित करना।

mysql> LowCardinality मानों (1, 'जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> LowCardinality मानों (1, 'जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) )

सभी रिकॉर्ड प्रदर्शित करना।

mysql> LowCardinality से *चुनें;

आउटपुट डुप्लिकेट मान दिखाता है, क्योंकि हमने तालिका बनाते समय UNIQUE को शामिल नहीं किया था।

<पूर्व>+----------+------+| आईडी | नाम |+----------+------+| 1 | जॉन || 1 | जॉन |+------+------+2 पंक्तियों में सेट (0.00 सेकंड)
  1. MySQL में "सेलेक्ट ट्रू" क्या है?

    यदि कोई पंक्ति मेल खाती है, तो कथन SELECT TRUE 1 लौटाता है। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - सम्मिलित करें डेमोटेबल मानों में (डेविड); क्वेरी ठीक है, 1 पंक्ति प्रभ

  1. MySQL में किसी श्रेणी के बीच मान प्राप्त करने के लिए खंड के बीच का विकल्प क्या है?

    BETWEEN क्लॉज का उपयोग करने से बचने के लिए, आप किसी श्रेणी के बीच मान लाने के लिए AND का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(नंबर int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.62 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल वैल्यू में डालें

  1. MySQL बेतरतीब ढंग से स्तंभ मानों से 2 मानों का चयन करता है?

    बेतरतीब ढंग से चयन करने के लिए, रैंड () द्वारा ऑर्डर का उपयोग करें। केवल 2 मान चुनने के लिए, MySQL में LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1815 (प्रश्न टेक्स्ट);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -