2011-06-08 5 views
6

मैं अपने डेटाबेस स्कीमा को डिज़ाइन करने के लिए MySQL वर्कबेंच 5.2.28 का उपयोग कर रहा हूं। मुझे कुछ तालिकाओं में डिफ़ॉल्ट डेटा डालना होगा जो "सम्मिलित करें" टैब का उपयोग करके किया जा सकता है। हालांकि, ऐसा लगता है कि यह केवल डेटा को मैन्युअल रूप से दर्ज करने की अनुमति देता है, एक समय में एक पंक्ति। मेरे पास कई सौ पंक्तियों के साथ एक आउटफाइल है जिसे मैं सम्मिलित करना चाहता हूं।MySQL वर्कबेंच इंसर्ट

क्या यह MySQL वर्कबेंच के साथ संभव है? डिफ़ॉल्ट डेटा आयात करने के लिए अलग MySQL स्क्रिप्ट बनाना बेहतर दृष्टिकोण होगा?

+0

मैं इस तरह के कुछ के लिए ईएमएस के डेटा आयात को MySQL के लिए उपयोग करता हूं, यह मुफ़्त नहीं है लेकिन अगर मुझे सही याद है तो 30 दिन का डेमो है http://www.sqlmanager.net/products/mysql/dataimport –

+0

इसे एक अलग स्क्रिप्ट के रूप में उपयोग करना पसंद करते हैं, कभी-कभी MySQL ड्रॉप डालने वाले मानों को छोड़ देता है। यदि आपके पास 100 लाइनें हैं तो असली दर्द। – Jai

उत्तर

5

अब मैं अपना डेटा डालने के लिए अलग-अलग एसक्यूएल स्क्रिप्ट का उपयोग कर रहा हूं क्योंकि MySQL वर्कबेंच में थोक प्रविष्टियां जोड़ने का एक आसान तरीका प्रतीत नहीं होता है।

+0

आपका मतलब है कि हम 'फॉरवर्ड इंजीनियरिंग ...' से पहले 'सम्मिलित करें' टैब में "पूर्व-सम्मिलित" डिफ़ॉल्ट डेटा (डीबग के लिए) "में MySQL वर्कबेंच का उपयोग नहीं कर सकते हैं? – Casper

3

उदाहरण के लिए एक्सेल में सीएसवी उत्पन्न करें (यदि आपके पास मूल्यों में कोमा है) उद्धृत करें, तो मॉडल में प्रत्येक तालिका के लिए सभी पंक्तियों को 'आवेषण' टैब के माध्यम से वर्कबेंच में कॉपी/पेस्ट करें। वर्कबेंच संस्करण 5.2.40 के साथ काम करता है।

+1

वर्कबेंच 6.0 में इन्सर्ट टैब में सीएसवी के लिए एक छोटा आयात-बटन है। सुनिश्चित करें कि आप अर्धविराम के बजाय अल्पविराम से अलग हैं। – sgtdck

0

आप सही हैं कि मुझे यह स्वचालित रूप से करने का कोई तरीका नहीं है। एकमात्र चीज जो आप कर सकते हैं वह है कि आगे बढ़ने के लिए एक ही समय में अपनी सभी आवेषण स्क्रिप्ट उत्पन्न करें और फिर जेनरेट की गई स्क्रिप्ट के अंत में सम्मिलित कथन की प्रतिलिपि बनाकर (आपको "INSERT स्टेटमेंट जेनरेट करें" विकल्प को चेक करना होगा)।

2

MySQL वर्कबेंच संस्करण 6.2 में आपको एक आयात बटन मिलेगा जो आपको CSV फ़ाइल से "इन्सर्ट" आयात करने के लिए अस्वीकार करता है।

+0

नवीनतम संस्करण में, आप वास्तव में सीएसवी-स्टाइल या जेएसओएन प्रारूप में किसी भी डिलीमीटर के साथ बड़ी फ़ाइलों को सम्मिलित कर सकते हैं। – Steven

+0

ऐसा लगता है कि यह प्रत्येक पंक्ति के लिए अलग सम्मिलित बयान उत्पन्न करेगा। जब मेरे पास प्रति पंक्ति केवल कुछ मान डालने के लिए होते हैं, तो मैं आमतौर पर एक एसक्यूएल स्क्रिप्ट बना देता हूं जो इस 'INSERT INTO tmp_data (cust_id) मान (1001), (1002), (1003), (1004) में दिखता है;' 100k रिकॉर्ड्स डालना इस तरह बस कुछ सेकंड लेता है। उदाहरण के लिए स्क्रिप्ट को "जेनरेट" किया जा सकता है, उदाहरण के लिए केवल कुछ अतिरिक्त कॉलम जोड़ें जहां आप आवश्यक कोष्ठक डालते हैं और उसके बाद पाठ संपादक को कॉपी-पेस्ट करते हैं। –