MySQL क्वेरी डुप्लिकेट डेटा को कैसे संभालती है?डुप्लिकेट डेटा स्टेटमेंट को हटाने के लिए फ़िल्टर करें

MySQLप्रश्न डुप्लिकेट डेटा को कैसे संभालते हैं?डुप्लिकेट डेटा स्टेटमेंट को हटाने के लिए फ़िल्टर करें

MySQL डुप्लिकेट डेटा को संभालना

कुछ MySQL डेटा तालिकाओं में डुप्लिकेट रिकॉर्ड हो सकते हैं। कुछ मामलों में, हम डुप्लिकेट डेटा के अस्तित्व की अनुमति देते हैं, लेकिन कभी-कभी हमें इन डुप्लिकेट डेटा को हटाने की भी आवश्यकता होती है।

इस अध्याय में, हम परिचय देंगे कि डेटा तालिका में डुप्लिकेट डेटा को कैसे रोका जाए और डेटा तालिका में डुप्लिकेट डेटा को कैसे हटाया जाए।


तालिकाओं में डुप्लिकेट डेटा रोकें

आप निर्दिष्ट फ़ील्ड को MySQL डेटा तालिका में इस प्रकार सेट कर सकते हैं प्राथमिक कुंजी या अद्वितीय (अद्वितीय) डेटा की विशिष्टता सुनिश्चित करने के लिए सूचकांक।

आइए एक उदाहरण का प्रयास करें: नीचे दी गई तालिका में कोई अनुक्रमणिका और प्राथमिक कुंजी नहीं है, इसलिए तालिका एकाधिक डुप्लिकेट रिकॉर्ड की अनुमति देती है।

CREATE TABLE person_tbl
(
    first_name CHAR(20),
    last_name CHAR(20),
    sex CHAR(10)
);

यदि आप तालिका में फ़ील्ड first_name और last_name सेट करना चाहते हैं, तो डेटा दोहराया नहीं जा सकता है, आप डेटा की विशिष्टता सेट करने के लिए डबल प्राथमिक कुंजी मोड सेट कर सकते हैं। यदि आप डबल प्राथमिक कुंजी सेट करते हैं, तो उस कुंजी का डिफ़ॉल्ट मान NULL नहीं हो सकता है, लेकिन NULL पर सेट किया जा सकता है।निम्नलिखित नुसार:

CREATE TABLE person_tbl
(
   first_name CHAR(20) NOT NULL,
   last_name CHAR(20) NOT NULL,
   sex CHAR(10),
   PRIMARY KEY (last_name, first_name)
);

यदि हम एक अद्वितीय अनुक्रमणिका सेट करते हैं, तो डुप्लिकेट डेटा डालने पर, SQL कथन सफलतापूर्वक निष्पादित करने में विफल हो जाएगा और एक त्रुटि फेंक देगा।

INSERT IGNORE INTO और INSERT INTO के बीच का अंतर यह है कि INSERT IGNORE डेटाबेस में पहले से मौजूद डेटा को अनदेखा करता है। यदि डेटाबेस में कोई डेटा नहीं है, तो यह नया डेटा सम्मिलित करेगा, और यदि डेटा है, तो यह इस डेटा को छोड़ देगा।इस तरह, डेटाबेस में मौजूदा डेटा को संरक्षित किया जा सकता है, और गैप में डेटा डालने का उद्देश्य प्राप्त किया जा सकता है।

निम्न उदाहरण INSERT IGNORE INTO का उपयोग करता है, जो बिना किसी त्रुटि के और डेटा तालिका में डुप्लिकेट डेटा सम्मिलित किए बिना निष्पादित होता है:

mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
    -> VALUES( 'Jay', 'Thomas');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
    -> VALUES( 'Jay', 'Thomas');
Query OK, 0 rows affected (0.00 sec)

डेटा सम्मिलित करते समय, रिकॉर्ड की विशिष्टता सेट होने के बाद, यदि डुप्लिकेट डेटा डाला जाता है, तो कोई त्रुटि नहीं लौटाई जाएगी, लेकिन केवल एक चेतावनी वापस की जाएगी।और REPLACE INTO यदि कोई प्राथमिक या अद्वितीय रिकॉर्ड है, तो पहले उसे हटा दें।एक नया रिकॉर्ड डालें।

अपने डेटा की विशिष्टता को सेट करने का दूसरा तरीका इस तरह से एक UNIQUE इंडेक्स जोड़ना है:

CREATE TABLE person_tbl
(
   first_name CHAR(20) NOT NULL,
   last_name CHAR(20) NOT NULL,
   sex CHAR(10)
   UNIQUE (last_name, first_name)
);

आंकड़े डुप्लिकेट डेटा

नीचे हम तालिका में first_name और last_name के डुप्लिकेट रिकॉर्ड की संख्या की गणना करेंगे:

mysql> SELECT COUNT(*) as repetitions, last_name, first_name
    -> FROM person_tbl
    -> GROUP BY last_name, first_name
    -> HAVING repetitions > 1;

उपरोक्त क्वेरी स्टेटमेंट person_tbl टेबल में डुप्लिकेट रिकॉर्ड्स की संख्या लौटाएगा।सामान्य तौर पर, डुप्लिकेट मानों के लिए क्वेरी करने के लिए, निम्न कार्य करें:

  • निर्धारित करें कि किस कॉलम में संभावित डुप्लिकेट मान हैं।
  • उन कॉलमों को सूचीबद्ध करने के लिए कॉलम चयन सूची में COUNT(*) का उपयोग करें।
  • ग्रुप बाय क्लॉज में सूचीबद्ध कॉलम।
  • HAVING क्लॉज 1 से अधिक दोहराव की संख्या निर्धारित करता है।

डुप्लिकेट डेटा फ़िल्टर करें

यदि आपको अद्वितीय डेटा पढ़ने की आवश्यकता है, तो आप डुप्लिकेट डेटा को फ़िल्टर करने के लिए चयन कथन में DISTINCT कीवर्ड का उपयोग कर सकते हैं।

mysql> SELECT DISTINCT last_name, first_name
    -> FROM person_tbl;

आप किसी तालिका से अद्वितीय डेटा पढ़ने के लिए GROUP BY का भी उपयोग कर सकते हैं:

mysql> SELECT last_name, first_name
    -> FROM person_tbl
    -> GROUP BY (last_name, first_name);

डुप्लीकेट डेटा

यदि आप डेटा तालिका में डुप्लिकेट डेटा हटाना चाहते हैं, तो आप निम्न SQL कथन का उपयोग कर सकते हैं:

mysql> CREATE TABLE tmp SELECT last_name, first_name, sex
    ->                  FROM person_tbl;
    ->                  GROUP BY (last_name, first_name, sex);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;

बेशक, आप तालिका में डुप्लिकेट रिकॉर्ड हटाने के लिए डेटा तालिका में INDEX (सूचकांक) और प्राथमिक कुंजी (प्राथमिक कुंजी) भी जोड़ सकते हैं।नीचे के रूप में तरीके:

mysql> ALTER IGNORE TABLE person_tbl
    -> ADD PRIMARY KEY (last_name, first_name);

होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) साझा किया गया "MySQL क्वेरी कैसे करता है और डुप्लिकेट डेटा को कैसे संभालता है?फ़िल्टरिंग और डिडुप्लीकेशन स्टेटमेंट" आपकी मदद करेंगे।

इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-499.html

नवीनतम अपडेट प्राप्त करने के लिए चेन वेइलियांग के ब्लॉग के टेलीग्राम चैनल में आपका स्वागत है!

🔔 चैनल शीर्ष निर्देशिका में मूल्यवान "चैटजीपीटी कंटेंट मार्केटिंग एआई टूल उपयोग गाइड" प्राप्त करने वाले पहले व्यक्ति बनें! 🌟
📚 इस गाइड में बहुत महत्व है, 🌟यह एक दुर्लभ अवसर है, इसे न चूकें! ⏰⌛💨
अच्छा लगे तो शेयर और लाइक करें!
आपका साझा करना और पसंद करना हमारी निरंतर प्रेरणा है!

 

发表 评论

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड का उपयोग किया जाता है * लेबल

शीर्ष तक स्क्रॉल करें