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

MySQL में कीवर्ड नाम वाले कॉलम को कैसे चुनें?

बैकटिक (`) से रिज़र्व्ड कीवर्ड कॉलम नाम एस्केप करें

MySQL में यदि कॉलम का नाम रिज़र्व्ड कीवर्ड (जैसे SELECT, ORDER, GROUP) है, तो उसे बैकटिक (`) में घेरकर संदर्भित करें।

समस्या

SELECT एक रिज़र्व्ड कीवर्ड है। इसे कॉलम नाम के रूप में उपयोग करने पर सिंटैक्स त्रुटि होगी।

समाधान: बैकटिक का उपयोग

mysql> CREATE TABLE DemoTable (`select` VARCHAR(100));
Query OK, 0 rows affected (0.53 sec)

डेटा डालना

mysql> INSERT INTO DemoTable VALUES('Records');
mysql> INSERT INTO DemoTable VALUES('All Data');
mysql> INSERT INTO DemoTable VALUES('Information');

क्वेरी करना

mysql> SELECT `select` FROM DemoTable;

+-------------+
| select      |
+-------------+
| Records     |
| All Data    |
| Information |
+-------------+

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

  • कॉलम/टेबल नाम रिज़र्व्ड कीवर्ड हो
  • नाम में स्पेस या विशेष वर्ण हों
  • नाम संख्या से शुरू हो
  • केस-सेंसिटिविटी बनाए रखनी हो

सामान्य रिज़र्व्ड कीवर्ड (आंशिक सूची)

SELECT, INSERT, UPDATE, DELETE, WHERE, ORDER, GROUP, BY, FROM, 
JOIN, TABLE, INDEX, VIEW, TRIGGER, PROCEDURE, FUNCTION, 
DATABASE, SCHEMA, USER, PASSWORD, KEY, PRIMARY, FOREIGN,
REFERENCES, CONSTRAINT, CHECK, DEFAULT, NULL, NOT, AND, OR

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

  1. सभी पहचानकर्ताओं (टेबल, कॉलम, एलियास) के लिए हमेशा बैकटिक उपयोग करें
  2. रिज़र्व्ड कीवर्ड को नाम के रूप में उपयोग करने से बचें
  3. वर्णनात्मक, गैर-कीवर्ड नाम चुनें (जैसे user_select बजाय select)
  1. - MySQL SELECT में कॉलम मान को दो बार दिखाएं

    CONCAT() के साथ कॉलम मान को डुप्लिकेट करना एक कॉलम के मान को दो बार (या अधिक) जोड़कर दिखाने के लिए CONCAT() फंक्शन का उपयोग करें। टेबल और डेटा CREATE TABLE DemoTable ( Value INT ); Query OK, 0 rows affected (0.73 sec) INSERT INTO DemoTable VALUES(100); Query OK, 1 row affected (0.30 sec) सभ

  1. - MySQL में कॉलम मानों से बेतरतीब ढंग से 2 मान चुनें?

    बेतरतीब ढंग से चुनने के लिए ORDER BY RAND() का उपयोग करें। MySQL में केवल 2 मान चुनने के लिए LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: my

  1. - MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?

    IF() फ़ंक्शन का उपयोग यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें: select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName; टेबल बनाना और डेटा डालना insert into demo30(value,original_value) values(30,0); डेटा देखना