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

MySQL में कोटेड बनाम अनकोटेड टेबल/फील्ड नाम: अंतर और उपयोग

MySQL में पहचानकर्ताओं (Identifiers) के लिए बैकटिक (`) का उपयोग: कब और क्यों?

MySQL में किसी भी पहचानकर्ता (टेबल नाम, कॉलम नाम, स्टोर्ड प्रोसीजर, व्यू नाम, आदि) को बैकटिक (`) में कोट किया जा सकता है या अनकोटेड छोड़ा जा सकता है। जब कोई पहचानकर्ता रिज़र्व्ड कीवर्ड होता है, तो उसे कोट करना अनिवार्य होता है, अन्यथा त्रुटि होगी।

उदाहरण: रिज़र्व्ड कीवर्ड को कॉलम/टेबल नाम के रूप में उपयोग करना

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

mysql> CREATE TABLE `INT` (`select` INT, `varchar` VARCHAR(100));

यहाँ INT, SELECT, और VARCHAR सभी MySQL रिज़र्व्ड कीवर्ड हैं, इसलिए उन्हें बैकटिक में लपेटा गया है।

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

mysql> INSERT INTO `INT` VALUES(1, 'MySQL');
mysql> INSERT INTO `INT` VALUES(2, 'MongoDB');
mysql> INSERT INTO `INT` VALUES(3, 'Java');
mysql> INSERT INTO `INT` VALUES(4, 'C');

रिकॉर्ड चुनना

mysql> SELECT * FROM `INT`;

आउटपुट:

+--------+---------+
| select | varchar |
+--------+---------+
| 1      | MySQL   |
| 2      | MongoDB |
| 3      | Java    |
| 4      | C       |
+--------+---------+
4 rows in set (0.00 sec)

महत्वपूर्ण नियम:

  • रिज़र्व्ड कीवर्ड: बैकटिक आवश्यक (उदाहरण: SELECT, INSERT, UPDATE, DELETE, INDEX, KEY, ORDER, GROUP, BY, TABLE, DATABASE, आदि)
  • विशेष वर्ण/स्पेस: यदि नाम में स्पेस, हाइफ़न, या विशेष वर्ण हैं तो बैकटिक आवश्यक
  • सामान्य नाम: बैकटिक वैकल्पिक लेकिन सर्वोत्तम अभ्यास के रूप में अनुशंसित
  • केस सेंसिटिविटी: बैकटिक केस सेंसिटिविटी को संरक्षित करता है

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

-- अनुशंसित: हमेशा बैकटिक उपयोग करें
CREATE TABLE `users` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `first_name` VARCHAR(50),
    `last_name` VARCHAR(50),
    `order` INT  -- 'ORDER' रिज़र्व्ड कीवर्ड है
);

यह भविष्य में MySQL संस्करण अपग्रेड के कारण नए रिज़र्व्ड कीवर्ड जुड़ने पर भी कोड को सुरक्षित रखता है।

  1. MySQL Workbench में टाइमस्टैम्प फ़ील्ड पर NOW() कैसे लागू करें? MySQL Workbench में टाइमस्टैम्प फ़ील्ड पर NOW() कैसे लागू करें?

    आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate TIMESTAMP ); टेबल में कुछ रिकॉर्ड डालें। यहाँ, हमने NOW() के साथ वर्तमान तिथि शामिल की है: INSERT INTO DemoTable(ShippingDate) VALUES(NOW()); टेबल से सभी रिकॉर्ड प्रदर्शित करें: SELE

  1. - MySQL में LIKE ऑपरेटर का उपयोग करके विशिष्ट तालिका नाम कैसे प्रदर्शित करें?

    MySQL में information_schema.tables और LIKE ऑपरेटर का उपयोग करके पैटर्न से मेल खाने वाले तालिका नाम प्राप्त किए जा सकते हैं। सिंटैक्स SELECT table_name AS alias_name FROM information_schema.tables WHERE table_name LIKE pattern%; उदाहरण DemoTable160_ से शुरू होने वाली सभी तालिकाएं खोजें: mysql>

  1. - MySQL में TIMESTAMP फ़ील्ड वाली टेबल कैसे बनाएँ?

    TIMESTAMP कॉलम TIMESTAMP DEFAULT CURRENT_TIMESTAMP से ऑटोमैटिक वर्तमान समय सेट होता है। उदाहरण ); डेटा डालना और परिणाम insert into demo50(start_date) values(2020-01-01); +----+---------------------+---------------------+ | id | start_date | end_date | +----+-----------------