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

MySQL में नॉट-नल कॉलम में खाली स्ट्रिंग?

<घंटा/>

PHP में, खाली स्ट्रिंग एक NULL मान के बराबर होती है, लेकिन MySQL में, मामला अलग है यानी खाली स्ट्रिंग NULL मान के बराबर नहीं है। उपरोक्त सिंटैक्स को समझने के लिए, जब आप एक खाली स्ट्रिंग सम्मिलित कर सकते हैं, तो हम NOT NULL बाधा के साथ एक कॉलम बनाते हैं।

आइए एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं EmptyStringNotNullDemo -> (-> आईडी नॉट न्यूल AUTO_INCREMENT, -> Name varchar(10) not null, -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.83 सेकंड) 

अब आप तालिका में कुछ रिकॉर्ड सम्मिलित कर सकते हैं यह जांचने के लिए कि खाली स्ट्रिंग शून्य है या नहीं। रिकॉर्ड डालने की क्वेरी इस प्रकार है -

mysql> EmptyStringNotNullDemo (नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> EmptyStringNotNullDemo (नाम) मान ('') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.43) sec)mysql> EmptyStringNotNullDemo (नाम) मान ('कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> EmptyStringNotNullDemo (नाम) मान ('') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) )mysql> EmptyStringNotNullDemo (नाम) मान ('') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> EmptyStringNotNullDemo (नाम) मान ('लैरी') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) 

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

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

निम्न आउटपुट है -

+-----+----------+| आईडी | नाम |+----+----------+| 1 | जॉन || 2 | || 3 | कैरल || 4 | || 5 | || 6 | लैरी |+-----+----------+6 पंक्तियों में सेट (0.00 सेकंड)

अब जांचें कि खाली स्ट्रिंग MySQL में NULL या NOT NULL है। यदि आपको 0 मिलता है, तो इसका मतलब यह होगा कि खाली स्ट्रिंग NULL के बराबर नहीं है, अन्यथा खाली स्ट्रिंग NULL है। क्वेरी इस प्रकार है -

mysql> नाम चुनें, नाम IS NULL के रूप में EmptyStringNotNullDemo से EmptyValueIsNotNULL;

निम्न आउटपुट है -

<पूर्व>+----------+---------------------+| नाम | EmptyValueIsNotNULL |+----------+---------------------+| जॉन | 0 || | 0 || कैरल | 0 || | 0 || | 0 || लैरी | 0 |+----------+---------------------+6 पंक्तियाँ सेट में (0.00 सेकंड)

आप उपयोगकर्ता द्वारा परिभाषित चर की सहायता से प्राप्त कर सकते हैं। वाक्य रचना इस प्रकार है -

सेट @anyVariableName="";अपना टेबलनाम अपडेट करें अपना कॉलमनाम सेट करें=@anyVariableName;

दी गई तालिका के लिए उपरोक्त सिंटैक्स को लागू करें। उपयोगकर्ता चर घोषित करने और परिभाषित करने के लिए क्वेरी इस प्रकार है।

mysql> सेट @emptyStringValue="";क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

खाली स्ट्रिंग के साथ तालिका को अपडेट करें। क्वेरी इस प्रकार है -

mysql> अपडेट EmptyStringNotNullDemo set Name=@emptyStringValue;क्वेरी ठीक है, 3 पंक्तियाँ प्रभावित (0.25 सेकंड)पंक्तियाँ मिलान:6 परिवर्तित:3 चेतावनियाँ:0

तालिका से सभी रिकॉर्ड एक बार फिर प्रदर्शित करें। क्वेरी इस प्रकार है -

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

निम्न आउटपुट है -

<पूर्व>+-----+------+| आईडी | नाम |+----+------+| 1 | || 2 | || 3 | || 4 | || 5 | || 6 | |+----+------+6 पंक्तियाँ सेट में (0.00 सेकंड)

कॉलम 'नाम' को अपडेट कर दिया गया है।


  1. MySQL में एक स्ट्रिंग वाले कॉलम नामों का चयन करें?

    इसके लिए आप SHOW COLUMNS कमांड का इस्तेमाल कर सकते हैं। निम्नलिखित वाक्य रचना है। यहां, हमने LIKE - . का उपयोग करके स्ट्रिंग सेट की है अपनेटेबलनाम से yourStringValue जैसे कॉलम दिखाएं; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड) यहां एक विशिष्ट स्ट्रिंग वाले कॉलम नामो

  1. MySQL क्वेरी जो कॉलम शून्य होने पर एक विशिष्ट स्ट्रिंग देता है?

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.85 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (डेविड); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से *चुनें; आउटपु

  1. कॉलम मान को बदलने के लिए MySQL क्वेरी

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Score int);क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.45 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (स्कोर) मान (55) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.37 सेकंड) चय