2008-09-25 17 views
9

एक डेटाबेस से दूसरे डेटाबेस में किसी तालिका को कॉपी करने के लिए SQL कमांड क्या है? मैं MySQL का उपयोग कर रहा हूं और मेरे पास दो डेटाबेस x और y हैं। मान लीजिए मेरे पास एक्स में एक टेबल है जिसे मुझे बुलाया गया है और मुझे उस तालिका को वाई डेटाबेस में कॉपी करने की आवश्यकता है। क्षमा करें अगर सवाल बहुत नौसिखिया है।तालिका कॉपी करने के लिए एसक्यूएल कमांड

धन्यवाद।

+1

एसक्यूएल के मुकाबले इसे करने के लिए आमतौर पर बेहतर तरीके हैं। अधिकांश डीबीएमएस 'टेबल कॉपी करने या सबसे खराब, अनलोड और डेटा को फिर से लोड करने के लिए सुविधा प्रदान करेंगे। – paxdiablo

उत्तर

8

यदि आपके दो डेटाबेस अलग हैं, तो करने के लिए सबसे आसान काम आपकी तालिका का डंप बनाना और दूसरे डेटाबेस में लोड करना होगा। एक डंप कैसे किया जा सकता है यह देखने के लिए अपने डेटाबेस मैनुअल का संदर्भ लें।

नहीं तो आप कमांड लाइन

mysqldump somedb sometable -u user -p | mysql otherdb -u user -p 

पर निम्न सिंटैक्स (MySQL के लिए) का उपयोग कर सकते

INSERT INTO database_b.table (SELECT * FROM database_a.table) 
1

यदि आप केवल सामग्री कॉपी करना चाहते हैं, तो आप select into: http://www.w3schools.com/Sql/sql_select_into.asp देख रहे हैं। यह यद्यपि एक समान प्रतिलिपि नहीं बनाएगा, यह सिर्फ प्रत्येक पंक्ति को एक तालिका से दूसरी तालिका में कॉपी करेगा।

8

यदि लक्ष्य तालिका मौजूद नहीं है ....

CREATE TABLE dest_table AS (SELECT * FROM source_table); 

लक्ष्य तालिका मौजूद

INSERT INTO dest_table (SELECT * FROM source_table); 

चेतावनी करता है: Oracle

+1

ओरेकल? हा! यह एक खाली वर्चर और शून्य के बीच का अंतर भी नहीं बता सकता है। डीबी 2 और मैं आपके खिलौने डेटाबेस पर थूकता हूं :-)। – paxdiablo

+0

MySQL पर भी काम करता है – ConroyP

+0

हम उपरोक्त आदेश के साथ डेटाबेस कैसे निर्दिष्ट करते हैं? – Omnipotent

3

में केवल परीक्षण किया के बाद से अपने परिदृश्य शामिल दो अलग-अलग डेटाबेस, सही क्वेरी होना चाहिए ...

IN..NTest_table (SE LECT * स्रोत_टेबल से);

प्रश्न मानते हैं, आप इसे एक्स डेटाबेस का उपयोग कर चला रहे हैं।

1

तो दोनों पासवर्ड टाइप करें।

यह काम करता है भले ही वे अलग-अलग होस्ट पर हों (केवल सामान्य रूप से -h पैरामीटर जोड़ें), जिसे आप सम्मिलित चयन के साथ नहीं कर सकते हैं।

गलती से गलत डीबी में पाइप न करने के लिए सावधान रहें या आप उस डीबी में थोड़ी सी तालिका छोड़ने को समाप्त कर देंगे! (डंप 'ड्रॉप टेबल कुछ समय के साथ शुरू होगा')।

1

दूसरों द्वारा सुझाए गए चयन से ब्लॉ डालें MySQL के तहत डेटा की प्रतिलिपि बनाने के लिए अच्छा है।

यदि आप तालिका संरचना की प्रतिलिपि बनाना चाहते हैं तो आप का उपयोग करना चाहते हैं तालिका तालिका Tablename; कथन।

संबंधित मुद्दे