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

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

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

INDEX MySQL में एक आरक्षित शब्द है। इसे कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक (`) में लपेटना आवश्यक है।

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

बैकटिक के साथ तालिका बनाना

mysql> CREATE TABLE DemoTable (
    `index` INT
);

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable VALUES(1000);
mysql> INSERT INTO DemoTable VALUES(1020);
mysql> INSERT INTO DemoTable VALUES(967);
mysql> INSERT INTO DemoTable VALUES(567);
mysql> INSERT INTO DemoTable VALUES(1010);

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------+
| index |
+-------+
| 1000  |
| 1020  |
| 967   |
| 567   |
| 1010  |
+-------+

अवरोही क्रम में शीर्ष 3 रिकॉर्ड

mysql> SELECT * FROM DemoTable 
ORDER BY `index` DESC LIMIT 3;

आउटपुट:

+-------+
| index |
+-------+
| 1020  |
| 1010  |
| 1000  |
+-------+

आरक्षित शब्द और बैकटिक

MySQL में कई आरक्षित शब्द हैं जिन्हें पहचानकर्ता (तालिका/कॉलम नाम) के रूप में उपयोग करने के लिए बैकटिक आवश्यक है:

  • INDEX, KEY, PRIMARY, UNIQUE, CHECK, REFERENCES
  • SELECT, INSERT, UPDATE, DELETE, WHERE, ORDER, GROUP, BY
  • TABLE, DATABASE, USER, PASSWORD, DATE, TIME, TIMESTAMP
  • YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
  • DESC, ASC, LIMIT, OFFSET, DISTINCT, ALL, ANY, SOME

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

  • आरक्षित शब्दों को पहचानकर्ता के रूप में उपयोग करने से बचें
  • वर्णनात्मक नाम उपयोग करें: idx, sort_index, array_index, position
  • संगतता के लिए सभी पहचानकर्ताओं के लिए बैकटिक उपयोग करें
  • sql_mode=ANSI_QUOTES में डबल कोट्स (") भी काम करते हैं

नोट: बैकटिक के बिना CREATE TABLE DemoTable (index INT) से सिंटैक्स त्रुटि होगी।

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

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

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

    उत्तर नहीं, आप MySQL टेबल के लिए सीधे user शब्द का उपयोग नहीं कर सकते क्योंकि यह MySQL में एक आरक्षित शब्द (reserved word) है। MySQL की सिस्टम टेबल mysql.user मौजूद है। समाधान बहुवचन उपयोग करें: users (सबसे आम और अनुशंसित) बैकटिक्स उपयोग करें: `user` (काम करता है लेकिन भ्रमित कर सकता है) वर्णनात्म

  1. - MySQL 8.0 में 'rank' आरक्षित शब्द: कॉलम नाम के लिए बैकटिक्स आवश्यक

    MySQL 8.0.2 से RANK एक आरक्षित शब्द (reserved word) है क्योंकि विंडो फ़ंक्शन RANK() जोड़ा गया। इसे कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक्स (`) आवश्यक हैं। समस्या ); ERROR 1064 (42000): You have an error in your SQL syntax near rank int at line 5 समाधान: बैकटिक्स उपयोग करें ); Query OK डे