कभी-कभी आपको MySQL में एक टेबल से दूसरी टेबल पर डेटा कॉपी करने या MySQL में टेबल कॉपी करने की आवश्यकता हो सकती है। यहाँ MySQL में तालिका की नकल करने का तरीका बताया गया है। आप इसका उपयोग MySQL में तालिका को क्लोन करने के लिए कर सकते हैं या तालिका संरचना की प्रतिलिपि बना सकते हैं, या तालिका को एक डेटाबेस से दूसरे डेटाबेस में कॉपी भी कर सकते हैं।
MySQL में टेबल की नकल कैसे करें
यहाँ MySQL में तालिका को डुप्लिकेट करने के चरण दिए गए हैं। डेटा को एक टेबल से दूसरी टेबल में कॉपी करने के लिए अलग-अलग उपयोग के मामले हैं। हम उनमें से प्रत्येक को विस्तार से देखेंगे।
MySQL डेटा को एक टेबल से नई टेबल में कॉपी करें
यदि आपको MySQL में तालिका को एक नई तालिका में डुप्लिकेट करने की आवश्यकता है, तो आपको नीचे दिखाए गए अनुसार तालिका बनाएं और चयन कथन का उपयोग करने की आवश्यकता है
CREATE TABLE new_table
SELECT column, column2, column3
FROM
existing_table;
मान लें कि आपके पास एक मौजूदा तालिका है उत्पाद
mysql> select * from products; +------------+--------------------+-------+ | product_id | product_name | price | +------------+--------------------+-------+ | 1 | iPhone 11 | 400 | | 2 | Samsung Galaxy A50 | 250 | +------------+--------------------+-------+
यहां उत्पादों को कॉपी करने के लिए SQL क्वेरी है new_products . नामक नई तालिका में तालिका
mysql> create table new_products
select *
from products;
mysql> select * from new_products;
+------------+--------------------+-------+
| product_id | product_name | price |
+------------+--------------------+-------+
| 1 | iPhone 11 | 400 |
| 2 | Samsung Galaxy A50 | 250 |
+------------+--------------------+-------+
यह ध्यान रखना महत्वपूर्ण है कि नई तालिका केवल तभी बनाई जाएगी जब वह मौजूद न हो। अन्यथा, आपको एक त्रुटि मिलेगी। जब आप MySQL में तालिका की नकल करते हैं तो त्रुटि प्राप्त करने से बचने के लिए, आप तालिका बनाने के विवरण में IF NOT EXIST का उपयोग कर सकते हैं, जैसा कि नीचे दिखाया गया है।
mysql> create table if not exist new_products
select *
from products;
बोनस पढ़ें:पैरामीटर के साथ MySQL संग्रहीत प्रक्रिया
एक तालिका से नई तालिका में केवल आंशिक डेटा की प्रतिलिपि बनाने के लिए, आप अपने चयन कथन में WHERE स्थिति का उपयोग कर सकते हैं जैसा कि दिखाया गया है
CREATE TABLE new_table
SELECT column1, column2, column3
FROM
existing_table
WHERE
conditions;
उत्पादों . से आंशिक डेटा कॉपी करने के लिए SQL क्वेरी यहां दी गई है new_products2 . नामक नई तालिका में तालिका
mysql> create table new_products2
select *
from products
where product_id=1;
mysql> select * from new_products2;
+------------+--------------+-------+
| product_id | product_name | price |
+------------+--------------+-------+
| 1 | iPhone 11 | 400 |
+------------+--------------+-------+
बोनस पढ़ें :MySQL में समग्र प्राथमिक कुंजी कैसे बनाएं
MySQL तालिका संरचना को नई तालिका में कॉपी करें
उपरोक्त प्रश्न केवल तालिका और डेटा की प्रतिलिपि बनाते हैं। वे प्राथमिक कुंजी, अनुक्रमणिका, बाधाओं, ट्रिगर जैसी तालिका वस्तुओं की प्रतिलिपि नहीं बनाएंगे। तालिका संरचना और डेटा को कॉपी करने के लिए, आपको LIKE कीवर्ड के साथ CREATE TABLE स्टेटमेंट का उपयोग करना होगा, जैसा कि नीचे दिखाया गया है
CREATE TABLE IF NOT EXISTS new_table LIKE existing_table;
मान लें कि आपके पास आदेश है प्राथमिक कुंजी वाली तालिका
mysql> describe orders; +--------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | product_name | varchar(255) | NO | | NULL | | | order_date | date | YES | | NULL | | | price | int(11) | NO | | NULL | | | description | text | YES | | NULL | | | created_at | timestamp | NO | | CURRENT_TIMESTAMP | | +--------------+--------------+------+-----+-------------------+----------------+
और आप आदेशों . की संरचना को कॉपी करना चाहते हैं new_orders . के लिए टेबल। तालिका संरचना को नई तालिका में कॉपी करने के लिए यहां SQL क्वेरी है।
mysql> create table new_orders like orders; mysql> describe new_orders; +--------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | product_name | varchar(255) | NO | | NULL | | | order_date | date | YES | | NULL | | | price | int(11) | NO | | NULL | | | description | text | YES | | NULL | | | created_at | timestamp | NO | | CURRENT_TIMESTAMP | | +--------------+--------------+------+-----+-------------------+----------------+
बोनस पढ़ें :MySQL में टेबल को कैसे छोटा करें
MySQL डेटा को एक टेबल से मौजूदा टेबल पर कॉपी करें
उपरोक्त कथन पुरानी तालिका की संरचना के साथ नई तालिका बनाएगा। फिर आपको पुरानी तालिका से नई तालिका में डेटा कॉपी करने के लिए INSERT कथन का उपयोग करने की आवश्यकता है।
INSERT new_table SELECT * FROM existing_table;
आदेश से डेटा कॉपी करने के लिए SQL क्वेरी यहां दी गई है मौजूदा तालिका में new_orders
mysql> insert new_orders
select * from orders;
mysql> select * from orders;
+----+--------------+------------+-------+-------------+---------------------+
| id | product_name | order_date | price | description | created_at |
+----+--------------+------------+-------+-------------+---------------------+
| 1 | A | 2020-07-01 | 150 | New product | 2020-06-01 00:00:00 |
| 2 | B | 2020-07-01 | 235 | Old product | 2020-06-15 00:00:00 |
+----+--------------+------------+-------+-------------+---------------------+
बोनस पढ़ें :MySQL ड्रॉप व्यू
MySQL कॉपी टेबल एक डेटाबेस से दूसरे डेटाबेस में
यदि आप MySQL में तालिका को डेटाबेस से दूसरे में डुप्लिकेट करना चाहते हैं, तो बस अपने तालिका नामों में डेटाबेस नाम शामिल करें, जैसा कि नीचे बोल्ड में दिखाया गया है
CREATE TABLE destination_db.new_table LIKE source_db.existing_table; INSERT destination_db.new_table SELECT * FROM source_db.existing_table;
पहला स्टेटमेंट MySQL में सोर्स डेटाबेस (जैसे source_db) से दूसरे (जैसे डेस्टिनेशन_डीबी) में टेबल स्ट्रक्चर को डुप्लिकेट करेगा। दूसरा स्टेटमेंट डेटा को एक टेबल से दूसरी टेबल में कॉपी करेगा।
बदलें source_db और destination_db उपरोक्त प्रश्नों में क्रमशः स्रोत और गंतव्य डेटाबेस के साथ।
उम्मीद है, यह लेख आपको MySQL में तालिका की नकल करने में मदद करेगा। कृपया सावधान रहें जब आप बड़ी संख्या में रिकॉर्ड के साथ MySQL में तालिका की नकल करते हैं, क्योंकि इसमें बहुत समय और संसाधन लग सकते हैं।
Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!