कभी-कभी ऐसी स्थिति हो सकती है जब हमें किसी तालिका की सटीक प्रतिलिपि की आवश्यकता हो और बनाएं टेबल ... चुनें हमारे उद्देश्यों के अनुरूप नहीं है क्योंकि प्रतिलिपि में समान अनुक्रमणिका, डिफ़ॉल्ट मान आदि शामिल होने चाहिए।
नीचे दी गई तालिका का एक क्लोन बनाने के लिए आप चरणों का पालन करके इस स्थिति को संभाल सकते हैं -
- तालिका बनाएं विवरण प्राप्त करने के लिए तालिका बनाएं का उपयोग करें जो स्रोत तालिका की संरचना, अनुक्रमणिका और सभी को निर्दिष्ट करता है।
- टेबल के नाम को क्लोन टेबल में बदलने के लिए स्टेटमेंट को संशोधित करें और स्टेटमेंट को निष्पादित करें। इस तरह, हमारे पास सटीक क्लोन तालिका होगी।
- वैकल्पिक रूप से, यदि हमें तालिका सामग्री की भी प्रतिलिपि बनाने की आवश्यकता है, तो INSERT INTO ... SELECT स्टेटमेंट भी जारी करें।
उदाहरण
निम्नलिखित उदाहरण में, हम tutorials_tbl के लिए एक क्लोन टेबल बना रहे हैं।
चरण 1
तालिका की पूरी संरचना प्राप्त करें।
mysql> SHOW CREATE TABLE tutorials_tbl \G; *************************** 1. row *************************** Table: tutorials_tbl Create Table: CREATE TABLE `tutorials_tbl` ( `tutorial_id` int(11) NOT NULL auto_increment, `tutorial_title` varchar(100) NOT NULL default '', `tutorial_author` varchar(40) NOT NULL default '', `submission_date` date default NULL, PRIMARY KEY (`tutorial_id`), UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`) ) TYPE = MyISAM 1 row in set (0.00 sec) ERROR: No query specified
चरण 2
इस तालिका का नाम बदलें और दूसरी तालिका बनाएं।
mysql> CREATE TABLE clone_tbl ( -> tutorial_id int(11) NOT NULL auto_increment, -> tutorial_title varchar(100) NOT NULL default '', -> tutorial_author varchar(40) NOT NULL default '', -> submission_date date default NULL, -> PRIMARY KEY (tutorial_id), -> UNIQUE KEY AUTHOR_INDEX (tutorial_author) -> ) TYPE = MyISAM; Query OK, 0 rows affected (1.80 sec)
चरण 3
चरण 2 को क्रियान्वित करने के बाद, आप अपने डेटाबेस में एक क्लोन तालिका तैयार करेंगे। यदि आप किसी पुरानी तालिका से डेटा कॉपी करना चाहते हैं तो आप INSERT INTO... SELECT कथन का उपयोग करके ऐसा कर सकते हैं।
mysql> INSERT INTO clone_tbl (tutorial_id, tutorial_title, tutorial_author, submission_date) -> SELECT tutorial_id,tutorial_title, -> tutorial_author,submission_date -> FROM tutorials_tbl; Query OK, 3 rows affected (0.07 sec) Records: 3 Duplicates: 0 Warnings: 0
आखिरकार, हमारे पास एक सटीक क्लोन तालिका होगी जैसा आप चाहते थे।