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

क्या हम MySQL8 के साथ कॉलम नाम के रूप में "रैंक" का उपयोग कर सकते हैं?

<घंटा/>

रैंक एक MySQL आरक्षित शब्द है जिसे MySQL संस्करण 8.0.2 में परिभाषित किया गया है। इसलिए, आप रैंक को कॉलम नाम के रूप में उपयोग नहीं कर सकते। आपको रैंक के आसपास बैकटिक्स का उपयोग करने की आवश्यकता है।

आइए सबसे पहले उस MySQL संस्करण की जाँच करें जिस पर हम काम कर रहे हैं। यहाँ, मैं MySQL संस्करण 8.0.12 का उपयोग कर रहा हूँ -

<पूर्व>mysql> संस्करण का चयन करें ();+---------------+| वर्जन () |+-----------+| 8.0.12 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)

कॉलम नाम के रूप में "रैंक" का उपयोग करने वाली समस्याएं इस प्रकार हैं -

mysql> टेबल बनाएं DemoTable1596 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> rank int -> );ERROR 1064 (42000):आपको अपने SQL में एक त्रुटि है वाक्य - विन्यास; लाइन 5 पर 'रैंक इंट)' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने MySQL सर्वर संस्करण से संबंधित मैनुअल की जाँच करें। 

ऊपर, एक त्रुटि दिखाई दे रही है क्योंकि हमने आरक्षित शब्द को कॉलम नाम के रूप में उपयोग किया है।

आइए पहले एक तालिका बनाएं और त्रुटि से बचने के लिए "रैंक" के आसपास बैकटिक्स का उपयोग करें -

mysql> टेबल बनाएं DemoTable1596 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> `रैंक` int -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.51 सेकंड) 

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> DemoTable1596(StudentName,`रैंक') मान ('बॉब', 4567) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> DemoTable1596(StudentName,`रैंक') मान ('डेविड') में डालें ',1);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)

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

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

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

+-----+-------------+------+| आईडी | छात्र का नाम | रैंक |+----+-------------+------+| 1 | बॉब | 4567 || 2 | डेविड | 1 |+-----+-------------+------+2 पंक्तियों में सेट (0.00 सेकंड)

  1. जावा में MySQL के साथ ResultSet पर कॉलम नाम कैसे प्राप्त करें?

    परिणाम सेट पर कॉलम नाम प्राप्त करने के लिए, आपको getMetaData() विधि का उपयोग करने की आवश्यकता है। GetMetadata() का प्रोटोटाइप इस प्रकार है - ResultSetMetaData getMetaData SQLException फेंकता है; 5 कॉलम नामों के साथ एक MySQL तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है - );क्वेरी ठीक है, 0 पंक

  1. क्या हम आरक्षित शब्द 'इंडेक्स' का उपयोग MySQL कॉलम नाम के रूप में कर सकते हैं?

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

  1. क्या हम MySQL के साथ एक संख्यात्मक नाम वाला डेटाबेस बना सकते हैं?

    आप संख्यात्मक नाम के साथ डेटाबेस नहीं बना सकते जैसा कि नीचे दिखाया गया है - डेटाबेस 1233 बनाएं; यह निम्नलिखित आउटपुट देगा - ERROR 1064 (42000):आपको अपने SQL सिंटैक्स में त्रुटि है; लाइन 1 पर 1233 के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने MySQL सर्वर संस्करण से संबंधित मैनुअल की जाँच करें।