उपरोक्त सार स्निपेट सामान्य लोड डेटा विवरण दिखाता है। उपरोक्त कोड में सभी उपलब्ध विकल्पों का उल्लेख किया गया है।
आइए अब एक .csv फ़ाइल को पढ़ने और उसकी पंक्तियों को एक संगत तालिका में डालने के एक सरल उदाहरण पर ध्यान केंद्रित करें।
एक सरल उदाहरण:
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
सभी आवश्यक विकल्पों के साथ एक विहंगम उदाहरण:
यह कहने की आवश्यकता नहीं है कि इस कथन को कार्यान्वित करने के लिए आपकी CSV फ़ाइल उचित रूप से स्वरूपित होनी चाहिए?
और वोइला, उपरोक्त कथन का उपयोग करते हुए, 100 हजार से अधिक पंक्तियों वाला आपका .csv सेकंड में आपकी तालिका में आयात किया जाएगा।
अब, ध्यान देने योग्य कुछ महत्वपूर्ण बातें:
उपरोक्त कथन MySql स्तर पर चलता है, इसलिए स्रोत फ़ाइलों को आयात करने के लिए क्लाइंट से सर्वर पर कॉपी किया जाता है।
इससे कुछ सुरक्षा समस्याएँ उत्पन्न होती हैं, हमें यह सुनिश्चित करना होगा कि इस कोड का उपयोग करते समय क्लाइंट-सर्वर कनेक्शन सुरक्षित है।MySql 8.0 में, LOCAL का उपयोग करने की क्षमता डिफ़ॉल्ट रूप से गलत के रूप में सेट है। चूंकि आपके सर्वर और क्लाइंट को LOCAL अनुमति के लिए कॉन्फ़िगर किया जाना चाहिए, आप में से कुछ को अनुमति त्रुटि मिल सकती है।
अनुमति त्रुटि के मामले में, हमें local_infile को सक्षम करके इसे ओवरराइड करना होगा:
SET GLOBAL local_infile = true;
नोट: इस ध्वज को ओवरराइड करना कोई सुरक्षा समाधान नहीं है, बल्कि जोखिमों को स्वीकार करने की स्वीकृति है, अधिक जानकारी के लिए आप इस दस्तावेज़ को देख सकते हैं।
MySql LOAD DATA स्टेटमेंट का उपयोग फ़ाइलों को बहुत कम समय में पढ़ने के लिए किया जाता है।
आप स्रोत फ़ाइल प्रदान करने के लिए किसी भी बैकएंड एपीआई के साथ इस कोड का उपयोग कर सकते हैं।
स्रोत फ़ाइल कोई भी टेक्स्ट फ़ाइल हो सकती है, हमने इस उदाहरण में .csv का उपयोग किया है।
LOAD DATA LOCAL स्रोत फ़ाइल को MySql के माध्यम से आपके सर्वर पर कॉपी करता है इसलिए सर्वर साइड पर एक सुरक्षा उपाय लागू किया जाना चाहिए।
mysqlimport उपयोगिता आंतरिक रूप से लोड डेटा स्टेटमेंट का उपयोग करती है।
आप कथन में IGNORE 1 LINES जोड़कर CSV में हेडर को अनदेखा कर सकते हैं।
आधिकारिक दस्तावेज़
","image":"http://www.luping.net/uploads/20241001/172776132566fb8baddd92a.gif","datePublished":"2024-11-08T04:52:05+08:00","dateModified":"2024-11-08T04:52:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}क्या आप अभी भी अपनी पंक्तियों को दोहराने और उन्हें अपने डेटाबेस में सम्मिलित करने के लिए "for" या "while" लूप का उपयोग कर रहे हैं? क्या आप अभी भी .csv फ़ाइल को पढ़ने और उसे अपने MySQL डेटाबेस पर अपलोड करने के लिए अलग कोड लिख रहे हैं?
MySQL द्वारा प्रदान किए गए "लोड डेटा" कथन के साथ रैखिक तर्क को "नहीं" कहें। अपने कोड को बदलने के लिए खुद को तैयार करें ताकि लाइनें न्यूनतम हो जाएं और प्रदर्शन में भारी वृद्धि हो।
MySql लोड डेटा स्टेटमेंट प्रदान करता है, जो टेक्स्ट फ़ाइलों से डेटा को पढ़ने और इसे बहुत कम कोड के साथ तालिका में डालने का एक बहुत तेज़ गति वाला तरीका है।
MySQL के आधिकारिक दस्तावेज़ों के अनुसार, LOAD DATA स्टेटमेंट का उपयोग फ़ाइल से डेटा को बहुत तेज़ तरीके से पढ़ने के लिए किया जाता है और आप इस डेटा को अपने db पर कई बार हिट करने के बजाय, एक ही क्वेरी के साथ अपनी तालिका में सम्मिलित कर सकते हैं। "INSERT INTO" क्वेरी के साथ।
MySQL एक कथन भी प्रदान करता है -> "SELECT...INTO OUTFILE", जो "LOAD DATA" के बिल्कुल विपरीत कार्य करता है, जो डेटा को पढ़ना है तालिका से फ़ाइल तक।
MySql द्वारा प्रदान की गई mysqlimport उपयोगिता आंतरिक रूप से डेटा आयात करने के लिए सर्वर पर LOAD DATA स्टेटमेंट को कॉल करती है।
उपरोक्त सार स्निपेट सामान्य लोड डेटा विवरण दिखाता है। उपरोक्त कोड में सभी उपलब्ध विकल्पों का उल्लेख किया गया है।
आइए अब एक .csv फ़ाइल को पढ़ने और उसकी पंक्तियों को एक संगत तालिका में डालने के एक सरल उदाहरण पर ध्यान केंद्रित करें।
एक सरल उदाहरण:
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
सभी आवश्यक विकल्पों के साथ एक विहंगम उदाहरण:
यह कहने की आवश्यकता नहीं है कि इस कथन को कार्यान्वित करने के लिए आपकी CSV फ़ाइल उचित रूप से स्वरूपित होनी चाहिए?
और वोइला, उपरोक्त कथन का उपयोग करते हुए, 100 हजार से अधिक पंक्तियों वाला आपका .csv सेकंड में आपकी तालिका में आयात किया जाएगा।
अब, ध्यान देने योग्य कुछ महत्वपूर्ण बातें:
उपरोक्त कथन MySql स्तर पर चलता है, इसलिए स्रोत फ़ाइलों को आयात करने के लिए क्लाइंट से सर्वर पर कॉपी किया जाता है।
इससे कुछ सुरक्षा समस्याएँ उत्पन्न होती हैं, हमें यह सुनिश्चित करना होगा कि इस कोड का उपयोग करते समय क्लाइंट-सर्वर कनेक्शन सुरक्षित है।MySql 8.0 में, LOCAL का उपयोग करने की क्षमता डिफ़ॉल्ट रूप से गलत के रूप में सेट है। चूंकि आपके सर्वर और क्लाइंट को LOCAL अनुमति के लिए कॉन्फ़िगर किया जाना चाहिए, आप में से कुछ को अनुमति त्रुटि मिल सकती है।
अनुमति त्रुटि के मामले में, हमें local_infile को सक्षम करके इसे ओवरराइड करना होगा:
SET GLOBAL local_infile = true;
नोट: इस ध्वज को ओवरराइड करना कोई सुरक्षा समाधान नहीं है, बल्कि जोखिमों को स्वीकार करने की स्वीकृति है, अधिक जानकारी के लिए आप इस दस्तावेज़ को देख सकते हैं।
MySql LOAD DATA स्टेटमेंट का उपयोग फ़ाइलों को बहुत कम समय में पढ़ने के लिए किया जाता है।
आप स्रोत फ़ाइल प्रदान करने के लिए किसी भी बैकएंड एपीआई के साथ इस कोड का उपयोग कर सकते हैं।
स्रोत फ़ाइल कोई भी टेक्स्ट फ़ाइल हो सकती है, हमने इस उदाहरण में .csv का उपयोग किया है।
LOAD DATA LOCAL स्रोत फ़ाइल को MySql के माध्यम से आपके सर्वर पर कॉपी करता है इसलिए सर्वर साइड पर एक सुरक्षा उपाय लागू किया जाना चाहिए।
mysqlimport उपयोगिता आंतरिक रूप से लोड डेटा स्टेटमेंट का उपयोग करती है।
आप कथन में IGNORE 1 LINES जोड़कर CSV में हेडर को अनदेखा कर सकते हैं।
आधिकारिक दस्तावेज़
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3