आइए जानें कि MariaDB में अस्थायी टेबल कैसे काम करती हैं। सबसे पहले, हमें सर्वर से कनेक्ट होना होगा। उदाहरण के लिए (अपने खुद के कनेक्शन विवरण का उपयोग करें):
mariadb -h 127.0.0.1 -u root -p"RootPassword!" --database demo
अब, बस एक बात पर ध्यान दिलाते हुए, आइए एक मानक (स्थायी) तालिका बनाएं। यह इस प्रकार है:
CREATE TABLE t ( c INT );
यह तालिका, t
, हमारे क्लाइंट से बाहर निकलने के बाद भी डेटाबेस में बनी रहेगी:
exit
जब हम SHOW TABLES;
का उपयोग करके मौजूदा तालिकाओं को पुनः कनेक्ट और जांचते हैं, तो तालिका t
अभी भी सूचीबद्ध होगी:
mariadb -h 127.0.0.1 -u root -p"RootPassword!" --database demo
SHOW TABLES;
+----------------+ | Tables_in_demo | +----------------+ | t | +----------------+
यह सब तो स्पष्ट है, लेकिन अब, आइए इस तालिका को पुनः बनाएं और कुछ अलग करने का प्रयास करें:
CREATE OR REPLACE TEMPORARY TABLE t ( c INT );
TEMPORARY
कीवर्ड पर ध्यान दें। इस टेबल को बनाने के बाद, अगर हम SHOW TABLES;
चलाते हैं, तो यह सूची में दिखाई देती है। हम इसमें डेटा डाल सकते हैं, इसे क्वेरी कर सकते हैं और इसे अन्य टेबल के साथ जोड़ सकते हैं। यह मौजूदा सत्र के दौरान एक सामान्य टेबल की तरह व्यवहार करता है। हालाँकि, अगर हम क्लाइंट से बाहर निकलते हैं, फिर से कनेक्ट करते हैं, और फिर से SHOW TABLES;
करते हैं, तो अस्थायी टेबल t
सूचीबद्ध नहीं होगी।
एक अस्थायी तालिका केवल उस सत्र की अवधि तक ही मौजूद रहती है जिसमें उसे बनाया गया था और अन्य सत्र उसे नहीं देख पाएंगे।
अस्थायी तालिकाएँ क्षणिक डेटा संचालन के लिए काफी उपयोगी होती हैं। उदाहरण के लिए, हमारे डेटाबेस में products
नामक तालिका पर विचार करें:
CREATE TABLE products ( id INT NOT NULL AUTO_INCREMENT, code VARCHAR(100) NOT NULL, name VARCHAR(250) NOT NULL, description TEXT DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY code (code) )
हम एक अस्थायी तालिका बना सकते हैं जो products
की संरचना की नकल करती है:
CREATE TEMPORARY TABLE t LIKE products;
हम इसकी पुष्टि निम्न प्रकार से कर सकते हैं:
DESCRIBE t;
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | code | varchar(100) | NO | UNI | NULL | | | name | varchar(250) | NO | | NULL | | | description | text | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+
शुरुआत में, t
खाली रहेगा। हालाँकि, मान लीजिए कि हम products
से t
में कुछ डेटा स्थानांतरित करना चाहते हैं। मान लें कि हम केवल उन उत्पादों को शामिल करना चाहते हैं जिनके कोड में संख्या 0 है:
INSERT INTO t SELECT * FROM products WHERE code LIKE '%0%';
इस आदेश को चलाने के बाद, यदि हम अस्थायी तालिका t
को क्वेरी करते हैं:
SELECT * FROM t;
+----+--------+------------------+---------------------------------------------------+ | id | code | name | description | +----+--------+------------------+---------------------------------------------------+ | 1 | BG2024 | BugBlaster | Eradicates software bugs with a single scan. | | 3 | FW001 | FireWhale | An oversized, comprehensive firewall solution. | | 4 | CLD404 | CloudNine Finder | Find your way back from cloud outages and errors. | +----+--------+------------------+---------------------------------------------------+
हम फ़िल्टर किया गया डेटा देखते हैं.
अस्थायी तालिकाएँ स्थायी डेटा स्टोर को प्रभावित किए बिना अस्थायी प्रसंस्करण के लिए डेटा को संभालने का एक शक्तिशाली तरीका प्रदान करती हैं। वे विशेष रूप से उन परिदृश्यों में उपयोगी होते हैं जहाँ डेटा को अस्थायी रूप से हेरफेर या रूपांतरित करने की आवश्यकता होती है। आप इस तरह के डेटा हेरफेर के लिए स्थायी तालिकाओं का उपयोग कर सकते हैं लेकिन अस्थायी तालिकाएँ तब उपयोगी होती हैं जब आपको स्वचालित सफाई, नामकरण संघर्षों के कम जोखिम, अलगाव और सुरक्षा और क्वेरी प्रदर्शन के लिए संसाधन प्रबंधन की आवश्यकता होती है।