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

MySQL में अंडरस्कोर (_) को तालिका नाम के रूप में उपयोग करना

MySQL में बैकटिक का उपयोग करके विशेष वर्ण वाले तालिका नाम बनाना

MySQL में तालिका या कॉलम नाम में विशेष वर्ण (जैसे अंडरस्कोर, स्पेस, हाइफन) होने पर, उन्हें बैकटिक (`) में लपेटना आवश्यक होता है।

व्यावहारिक उदाहरण

अंडरस्कोर वाले तालिका नाम के साथ तालिका बनाना

mysql> CREATE TABLE `DemoTable_1` (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Location VARCHAR(100)
);

रिकॉर्ड डालना (बैकटिक के साथ)

mysql> INSERT INTO `DemoTable_1`(Location) VALUES('C:/myFolder/JavaFiles');
mysql> INSERT INTO `DemoTable_1`(Location) VALUES('E:/AllJarOfJava');
mysql> INSERT INTO `DemoTable_1`(Location) VALUES('C:/ProgramFiles');

सभी रिकॉर्ड देखना (बैकटिक के साथ)

mysql> SELECT * FROM `DemoTable_1`;

आउटपुट:

+----+-----------------------+
| Id | Location              |
+----+-----------------------+
| 1  | C:/myFolder/JavaFiles |
| 2  | E:/AllJarOfJava       |
| 3  | C:/ProgramFiles       |
+----+-----------------------+

बैकटिक कब आवश्यक हैं

  • आरक्षित शब्द (KEY, INDEX, ORDER, GROUP, आदि)
  • विशेष वर्ण वाले नाम (स्पेस, हाइफन, अंडरस्कोर, डॉट, आदि)
  • संख्या से शुरू होने वाले नाम
  • केस-सेंसिटिव नाम (विंडोज़ पर)

सर्वोत्तम अभ्यास

  • पहचानकर्ताओं के लिए हमेशा बैकटिक का उपयोग करें (संगतता के लिए)
  • नामकरण में केवल अक्षर, संख्या और अंडरस्कोर उपयोग करें
  • स्नेक_केस (snake_case) नामकरण परंपरा का पालन करें
  • आरक्षित शब्दों से बचें

नोट: अंडरस्कोर स्वयं कोई समस्या नहीं है, लेकिन बैकटिक का उपयोग करना अच्छी आदत है।

  1. - MySQL प्रिपेयर्ड स्टेटमेंट में टेबल नाम के लिए उपयोगकर्ता-परिभाषित वेरिएबल सेट करें

    उपयोगकर्ता-परिभाषित वेरिएबल (@var) और PREPARE/EXECUTE का उपयोग करके डायनामिक SQL बनाएं जहां टेबल नाम एक वेरिएबल है। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20) ); Query OK, 0 rows affected (0.71 sec) INSERT

  1. - MySQL में दो टेबल पर एकल SELECT क्वेरी करना (कार्टेशियन उत्पाद)

    MySQL में दो टेबल पर कार्टेशियन उत्पाद (क्रॉस जॉइन) दो टेबल पर बिना जॉइन शर्त के SELECT करने से कार्टेशियन उत्पाद (क्रॉस जॉइन) उत्पन्न होता है: पहली टेबल की प्रत्येक पंक्ति दूसरी टेबल की प्रत्येक पंक्ति के साथ जुड़ती है। परिणाम पंक्तियाँ = पंक्तियाँ_टेबल1 × पंक्तियाँ_टेबल2। उदाहरण: दो असंबंधित टेबल

  1. - MySQL टेबल में यूजरनेम फील्ड का नाम 'name' या 'user_name' रखना चाहिए?

    सिफारिश टेबल नाम को फील्ड नाम में प्रीफिक्स न करें (जैसे user_name)। इसके बजाय username या केवल name उपयोग करें (यदि संदर्भ स्पष्ट हो)। कारण अस्पष्टता: user.name बनाम user.user_name - दोनों काम करते हैं लेकिन पहला साफ है अतिरेक: टेबल नाम पहले से संदर्भ देता है नामकरण सम्मेलन: कॉलम नाम एकवचन संज्ञा