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

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

सिफारिश

टेबल नाम को फील्ड नाम में प्रीफिक्स न करें (जैसे user_name)। इसके बजाय username या केवल name उपयोग करें (यदि संदर्भ स्पष्ट हो)।

कारण

  • अस्पष्टता: user.name बनाम user.user_name - दोनों काम करते हैं लेकिन पहला साफ है
  • अतिरेक: टेबल नाम पहले से संदर्भ देता है
  • नामकरण सम्मेलन: कॉलम नाम एकवचन संज्ञा होना चाहिए जो एट्रिब्यूट दर्शाता है
  • ORM/फ्रेमवर्क: अधिकांश ORMs (Hibernate, Entity Framework, Django) डिफ़ॉल्ट रूप से कॉलम नाम = प्रॉपर्टी नाम अपेक्षा करते हैं

उदाहरण: सही डिज़ाइन

mysql> CREATE TABLE `user` (
    -> username VARCHAR(20),
    -> password VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.66 sec)
mysql> INSERT INTO `user` VALUES('John', 'J_635');
Query OK, 1 row affected (0.34 sec)
mysql> INSERT INTO `user` VALUES('Carol', 'Carol2212');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO `user` VALUES('David', '@12345678');
Query OK, 1 row affected (0.14 sec)

सभी रिकॉर्ड देखना

mysql> SELECT * FROM `user`;

आउटपुट:

+----------+-----------+
| username | password  |
+----------+-----------+
| John     | J_635     |
| Carol    | Carol2212 |
| David    | @12345678 |
+----------+-----------+
3 rows in set (0.00 sec)

नामकरण सर्वोत्तम अभ्यास

पैटर्नउदाहरणसिफारिश
टेबल_कॉलमuser_name, user_emailबचें
सिर्फ कॉलमusername, emailपसंदीदा
टेबल एकवचनuser, account, profileपसंदीदा
कॉलम एकवचनname, email, created_atपसंदीदा

आरक्षित शब्द नोट

user MySQL में आरक्षित शब्द है (सिस्टम टेबल mysql.user)। टेबल नाम के लिए बैकटिक्स उपयोग करें: `user`।

निष्कर्ष

username या name (यदि अस्पष्ट न हो) उपयोग करें। user_name अनावश्यक रूप से लंबा और कम मानक है।

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

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

  1. - MySQL में SELECT क्वेरी में AS कीवर्ड का उपयोग करके कॉलम नाम बदलें

    MySQL में AS कीवर्ड: कॉलम एलियास देना AS कीवर्ड का उपयोग करके आप SELECT क्वेरी के परिणाम में कॉलम को एक अस्थायी नाम (एलियास) दे सकते हैं। यह मूल टेबल की संरचना को नहीं बदलता, केवल परिणाम सेट में नाम बदलता है। उदाहरण: लंबे कॉलम नाम को छोटा करें टेबल बनाएं: CREATE TABLE DemoTable ( Id INT, St

  1. - MySQL में INFORMATION_SCHEMA.TABLES से सबसे हाल ही में बनी टेबल का नाम प्राप्त करें

    MySQL में सबसे हाल ही में बनाई गई टेबल (सबसे हाल की CREATE_TIME) का नाम प्राप्त करने के लिए INFORMATION_SCHEMA.TABLES सिस्टम व्यू को क्वेरी करें। यह ऑडिटिंग, माइग्रेशन सत्यापन, और डायनामिक SQL के लिए उपयोगी है। सिंटैक्स SELECT TABLE_NAME, CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEM