Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
MySQL + SQL · Lesson 44

MySQL में Multiple Rows INSERT करना

कई rows जोड़ना

आपको अक्सर एक साथ कई rows जोड़नी होती हैं — students, products या records की list। प्रति row एक INSERT चलाना काम करता है पर धीमा है। MySQL आपको एक INSERT में कई rows insert करने देता है, जो तेज़ और साफ़ है।

💡 कई value sets वाला एक INSERT कई अलग INSERTs से बहुत तेज़ है।

एक बार में एक row

INSERT INTO students (roll, name) VALUES (1, 'Aman');
INSERT INTO students (roll, name) VALUES (2, 'Diya');
INSERT INTO students (roll, name) VALUES (3, 'Kabir');

यह काम करता है, पर हर statement अलग process होता है। कुछ rows को ठीक है; कई को धीमा और दोहराव वाला।

एक INSERT में कई rows

INSERT INTO students (roll, name) VALUES
    (1, 'Aman'),
    (2, 'Diya'),
    (3, 'Kabir');
Query OK, 3 rows affected (0.01 sec)

हर row की values parentheses में, commas से अलग list कीजिए। तीनों rows एक statement में जुड़ती हैं — लिखने में छोटा और चलाने में बहुत तेज़।

यह तेज़ क्यों है

एकल multi-row INSERT एक operation के रूप में process होता है, कई अलग statements भेजने और चलाने से कहीं कम overhead के साथ। सैकड़ों या हज़ारों rows load करने को, यह विशाल speed अंतर बनाता है — SQL में सबसे आसान performance जीतों में से एक।

SELECT से insert

INSERT INTO archive (id, name)
SELECT id, name FROM users WHERE active = 0;

INSERT INTO ... SELECT एक table से rows दूसरी में copy करता है। यहाँ inactive users एक archive table में एक statement में copy होते हैं — values का कोई मैन्युअल typing नहीं।

Duplicates संभालना

-- unique key से टकराने वाली rows skip करो
INSERT IGNORE INTO students (roll, name) VALUES (1, 'Aman');

-- या इसके बजाय मौजूदा row update करो
INSERT INTO students (roll, name) VALUES (1, 'Aman Kumar')
    ON DUPLICATE KEY UPDATE name = 'Aman Kumar';

INSERT IGNORE duplicate-key error कराने वाली rows skip करता है, और ON DUPLICATE KEY UPDATE मौजूदा row update करता है। दोनों bulk insert को duplicates के आगे सहज जारी रहने देते हैं।

आम गलतियाँ

  • बेमेल value गिनती। हर row की values list किए columns से मेल खानी चाहिए।
  • Rows के बीच commas भूलना। हर parenthesised set को comma से अलग कीजिए।
  • Duplicate-key errors अनदेखा करना। INSERT IGNORE या ON DUPLICATE KEY UPDATE इस्तेमाल कीजिए।
  • लाखों rows को एक विशाल statement। packet size का सम्मान करने को batches में insert कीजिए।

सारांश

  • एक INSERT में commas से value sets list करके कई rows insert कीजिए।
  • एकल multi-row INSERT कई अलग से बहुत तेज़ है।
  • INSERT INTO ... SELECT दूसरी table से rows copy करता है।
  • INSERT IGNORE और ON DUPLICATE KEY UPDATE duplicates संभालते हैं।
  • विशाल loads को, batches में insert कीजिए।

आगे, कई rows update कीजिए updating multiple rows में, या उन्हें auto-number कीजिए AUTO_INCREMENT से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

MySQL में कई rows कैसे insert करूँ?
एक INSERT में commas से अलग कई value sets list कीजिए: INSERT INTO t (a, b) VALUES (1,'x'), (2,'y'), (3,'z');। यह सारी rows एक statement में जोड़ता है, जो प्रति row एक INSERT से बहुत तेज़ है।
एक साथ कई rows insert करना तेज़ क्यों है?
एकल multi-row INSERT तेज़ है क्योंकि MySQL इसे एक operation के रूप में process करता है, कई अलग INSERT statements चलाने से कम overhead के साथ। बड़े loads को, यह नाटकीय रूप से तेज़ हो सकता है।
दूसरी table से rows कैसे insert करूँ?
INSERT INTO ... SELECT इस्तेमाल कीजिए: INSERT INTO archive (id, name) SELECT id, name FROM users WHERE active = 0;। यह एक table से मेल खाती rows दूसरी में एक statement में copy करता है।
Insert के दौरान duplicate rows से errors कैसे बचाऊँ?
duplicate-key error कराने वाली rows skip करने को INSERT IGNORE, या मौजूदा row update करने को INSERT ... ON DUPLICATE KEY UPDATE इस्तेमाल कीजिए। यह bulk insert को duplicates के आगे जारी रहने देता है।
एक साथ कितनी rows insert कर सकता हूँ इसकी सीमा है?
कोई fixed row सीमा नहीं, पर बहुत बड़े statements max_allowed_packet setting (maximum query size) से सीमित हैं। विशाल loads को, कुछ हज़ार rows के batches में insert कीजिए सीमाओं में रहने और कुशल रखने को।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicSELECT Command आपकी प्रगति: 44 / 151 (29%) · Lesson 45 / 151 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें