MySQLDump प्रत्येक डेटा पंक्ति के लिए एक INSERT स्टेटमेंट


178

निम्नलिखित कथन के साथ:

mysqldump --complete-insert --lock-all-tables --no-create-db 
--no-create-info --extended-insert --password=XXX -u XXX 
--dump-date yyy > yyy_dataOnly.sql

मुझे निम्नलिखित जैसे INSERT स्टेटमेंट मिलते हैं:

INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');

मेरे मामले में मुझे कुछ इस तरह की आवश्यकता है:

INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');

क्या प्रत्येक पंक्ति के लिए एक नया INSERT बयान बनाने के लिए "mysqldump" बताने का कोई तरीका है? आपकी सहायताके लिए धन्यवाद!

जवाबों:


278

उपयोग:

mysqldump --extended-insert=FALSE 

ध्यान रखें कि एक से अधिक आवेषण एक से अधिक सम्मिलित होंगे।


75
-स्काइप-एक्सटेंडेड-इंसर्ट मेरे लिए सही वाक्यविन्यास प्रतीत होता है (mysqldump संस्करण 10.13 का उपयोग करके)
इसहाक बेतेश

17
धीमे, हाँ, लेकिन बहुत सारे पाठ संपादकों को पाठ की लंबी लंबी लाइनों से परेशानी होती है और यदि तालिकाओं में बड़ी मात्रा में डेटा होता है, तो यही होगा।
जहमीम

mysqldump --opt --skip-extended-insertया mysqldump --opt --extended-insert=FALSEकाम
यज़्मीर रामिरेज़

हे भगवान! मैं एक नए संस्करण में चला गया, जिसके कारण यह मुद्दा और मेरी बहुत सी स्वचालित स्क्रिप्ट विफल हो गई। मैंने सोचा था कि मैं खराब था, लेकिन यह एक आसान तय की तरह लगता है। साझा करने के लिए धन्यवाद!
वरुण वर्मा

11
यह अच्छा है क्योंकि अब मैं git diffदो अलग-अलग डेटाबेस डंप पर कर सकता हूं और जो कुछ बदला था उसकी स्पष्ट तस्वीर है।
रॉल्फ

9

नए संस्करणों में झंडे में बदलाव किया गया था: प्रलेखन से:

- अनुकूलित-सम्मिलित करें, -e

एकाधिक-पंक्ति सिंटैक्स का उपयोग करके INSERT कथन लिखें जिसमें कई VALUES सूचियाँ शामिल हैं। इसका परिणाम एक छोटी डंप फ़ाइल में होता है और फ़ाइल के पुनः लोड होने पर आवेषण में तेजी आती है।

--opt

डिफ़ॉल्ट रूप से सक्षम यह विकल्प --add-drop-table --add-locks --create-options --disable-keys --extended-insert -lock-tables --quick - के संयोजन के लिए शॉर्टहैंड है सेट चारसेट। यह एक तेज़ डंप ऑपरेशन देता है और एक डंप फ़ाइल बनाता है जिसे जल्दी से MySQL सर्वर में पुनः लोड किया जा सकता है।

क्योंकि - गोद लेने का विकल्प डिफ़ॉल्ट रूप से सक्षम होता है, आप केवल इसका रूपांतरण निर्दिष्ट करते हैं, --स्काइप-ऑप्ट कई डिफ़ॉल्ट सेटिंग्स को बंद करने के लिए। चुनिंदा विकल्पों को सक्षम करने या अक्षम करने के बारे में जानकारी के लिए mysqldump विकल्प समूहों की चर्चा को देखें - अपनाने से प्रभावित।

--skip-बढ़ा-डालने

विस्तारित-डालें बंद करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.