MySQL में एक बल्क इंसर्ट तब होता है जब आपको एक समय में एक टेबल में बहुत सारे रिकॉर्ड डालने की आवश्यकता होती है। इसका उपयोग परीक्षण के लिए डेटा को जल्दी से बनाने के लिए किया जा सकता है। प्रत्येक पंक्ति के लिए सम्मिलित विवरण को फिर से लिखना थकाऊ है। यहां बताया गया है कि आप MySQL में बल्क इंसर्ट कैसे कर सकते हैं।
MySQL में बल्क इंसर्ट
वाक्यविन्यास
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( a1, a2,...aN ),( b1, b2,...bN ),..;
a1, a2, a3,.. - फ़ील्ड 1 के लिए मान
b1, b2, b3,.. - फ़ील्ड 2 के लिए मान
c1, c2, c3,.. - फ़ील्ड 3 के लिए मान
…
उदाहरण
तालिका के लिए table_name कॉलम के साथ a, b, c
mysql> INSERT INTO table_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9),(3,3,3); +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 3 | 3 | 3 | +------+------+------+
जैसा कि आप देख सकते हैं, MySQL में बल्क इंसर्ट डुप्लिकेट पंक्तियों/स्तंभों की अनुमति देता है। यह डुप्लिकेट प्राथमिक कुंजी का कारण बन सकता है। यहां बताया गया है कि आप इससे कैसे बच सकते हैं।
बिना डुप्लीकेट के MySQL में बल्क इंसर्ट
हम ON DUPLICATE KEY क्लॉज का उपयोग करते हैं। यह प्राथमिक कुंजी के डुप्लिकेट मानों का पता लगाता है। हम डुप्लिकेट मान को अपडेट करने के लिए एक अद्यतन खंड भी जोड़ते हैं।
वाक्यविन्यास
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( a1, a2,...aN ),( b1, b2,...bN ),.. ON DUPLICATE KEY UPDATE primary_key_field=<expression> ;
a1, a2, a3,.. - फ़ील्ड 1 के लिए मान
b1, b2, b3,.. - फ़ील्ड 2 के लिए मान
c1, c2, c3,.. - फ़ील्ड 3 के लिए मान
…
उदाहरण
तालिका के लिए table_name कॉलम के साथ a, b, c और c प्राथमिक कुंजी है
mysql> INSERT INTO table_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9),(3,3,3) ON DUPLICATE KEY UPDATE c=c+1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 3 | 3 | 4 | +------+------+------+
आप अन्य कॉलम के आधार पर भी मान अपडेट कर सकते हैं