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, REFERENCESSELECT, INSERT, UPDATE, DELETE, WHERE, ORDER, GROUP, BYTABLE, DATABASE, USER, PASSWORD, DATE, TIME, TIMESTAMPYEAR, MONTH, DAY, HOUR, MINUTE, SECONDDESC, ASC, LIMIT, OFFSET, DISTINCT, ALL, ANY, SOME
सर्वोत्तम अभ्यास
- आरक्षित शब्दों को पहचानकर्ता के रूप में उपयोग करने से बचें
- वर्णनात्मक नाम उपयोग करें:
idx,sort_index,array_index,position - संगतता के लिए सभी पहचानकर्ताओं के लिए बैकटिक उपयोग करें
sql_mode=ANSI_QUOTESमें डबल कोट्स (") भी काम करते हैं
नोट: बैकटिक के बिना CREATE TABLE DemoTable (index INT) से सिंटैक्स त्रुटि होगी।