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

क्या हम MySQL टेबल के लिए 'user' शब्द का उपयोग कर सकते हैं?

उत्तर

नहीं, आप MySQL टेबल के लिए सीधे "user" शब्द का उपयोग नहीं कर सकते क्योंकि यह MySQL में एक आरक्षित शब्द (reserved word) है। MySQL की सिस्टम टेबल mysql.user मौजूद है।

समाधान

  1. बहुवचन उपयोग करें: users (सबसे आम और अनुशंसित)
  2. बैकटिक्स उपयोग करें: `user` (काम करता है लेकिन भ्रमित कर सकता है)
  3. वर्णनात्मक नाम: app_users, accounts, members

उदाहरण: 'users' टेबल बनाना

mysql> CREATE TABLE users (
    -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName VARCHAR(20),
    -> UserAge INT
    -> );
Query OK, 0 rows affected (0.51 sec)

डेटा डालना

mysql> INSERT INTO users(UserName, UserAge) VALUES('Chris Brown', 28);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO users(UserName, UserAge) VALUES('John Doe', 31);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO users(UserName, UserAge) VALUES('John Smith', 26);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO users(UserName, UserAge) VALUES('David Miller', 27);
Query OK, 1 row affected (0.13 sec)

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

mysql> SELECT * FROM users;

आउटपुट:

+--------+--------------+---------+
| UserId | UserName     | UserAge |
+--------+--------------+---------+
| 1      | Chris Brown  | 28      |
| 2      | John Doe     | 31      |
| 3      | John Smith   | 26      |
| 4      | David Miller | 27      |
+--------+--------------+---------+
4 rows in set (0.00 sec)

यदि आप `user` उपयोग करना ही चाहते हैं

CREATE TABLE `user` (
  UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  UserName VARCHAR(20),
  UserAge INT
);

INSERT INTO `user` (UserName, UserAge) VALUES('Test', 25);
SELECT * FROM `user`;

हर क्वेरी में बैकटिक्स आवश्यक: SELECT * FROM `user`, INSERT INTO `user` ...

आरक्षित शब्दों की सूची (आंशिक)

USER, SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
ALTER, INDEX, KEY, PRIMARY, UNIQUE, FOREIGN, REFERENCES,
TABLE, DATABASE, VIEW, TRIGGER, PROCEDURE, FUNCTION,
ORDER, GROUP, BY, WHERE, FROM, JOIN, LEFT, RIGHT,
INNER, OUTER, UNION, LIMIT, OFFSET, ...

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

  • आरक्षित शब्दों को पहचानकर्ता के रूप में उपयोग करने से बचें
  • बहुवचन टेबल नाम: users, orders, products
  • एकवचन कॉलम नाम: username, email, created_at
  • हमेशा बैकटिक्स उपयोग करें पहचानकर्ताओं के लिए

users सबसे स्पष्ट, मानक, और समस्या-मुक्त विकल्प है।

  1. - क्या MySQL तालिका में 'year' को कॉलम नाम के रूप में उपयोग कर सकते हैं?

    MySQL में year को कॉलम नाम के रूप में उपयोग करना YEAR MySQL में एक आरक्षित शब्द (reserved word) है क्योंकि यह एक फ़ंक्शन नाम है (YEAR(date))। हालांकि, इसे बैकटिक (`) में लपेटकर कॉलम नाम के रूप में उपयोग किया जा सकता है। व्यावहारिक उदाहरण तालिका बनाना (बैकटिक के साथ) CREATE TABLE DemoTable ( `

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

    MySQL में बैकटिक के साथ आरक्षित शब्द index को कॉलम नाम के रूप में उपयोग करना INDEX MySQL में एक आरक्षित शब्द है। इसे कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक (`) में लपेटना आवश्यक है। व्यावहारिक उदाहरण बैकटिक के साथ तालिका बनाना CREATE TABLE DemoTable ( `index` INT ); रिकॉर्ड डालना INSE

  1. - MySQL तालिका में प्रत्येक मान के लिए अधिकतम (MAX) कैसे चुनें?

    MySQL में GROUP BY और MAX() का उपयोग करके प्रत्येक समूह (जैसे देश) के लिए अधिकतम मान (जैसे जनसंख्या) प्राप्त किया जा सकता है। उदाहरण देश जनसंख्या तालिका: mysql> CREATE TABLE DemoTable (CountryName VARCHAR(20), Population INT); mysql> INSERT INTO DemoTable VALUES (US, 560), (UK, 10090), (UK, 8