MySQL क्वेरी डुप्लिकेट डेटा कशी हाताळते?डुप्लिकेट डेटा स्टेटमेंट काढण्यासाठी फिल्टर करा

, MySQLक्वेरी डुप्लिकेट डेटा कसे हाताळतात?डुप्लिकेट डेटा स्टेटमेंट काढण्यासाठी फिल्टर करा

, MySQL डुप्लिकेट डेटा हाताळणे

काही MySQL डेटा सारण्यांमध्ये डुप्लिकेट रेकॉर्ड असू शकतात. काही प्रकरणांमध्ये, आम्ही डुप्लिकेट डेटाच्या अस्तित्वाची परवानगी देतो, परंतु काहीवेळा आम्हाला हा डुप्लिकेट डेटा हटवावा लागतो.

या प्रकरणात, डेटा टेबलमधील डुप्लिकेट डेटा कसा रोखायचा आणि डेटा टेबलमधील डुप्लिकेट डेटा कसा हटवायचा ते आम्ही सादर करू.


टेबलमधील डुप्लिकेट डेटा प्रतिबंधित करा

तुम्ही MySQL डेटा टेबलमध्ये निर्दिष्ट फील्ड म्हणून सेट करू शकता प्राथमिक कळ किंवा UNIQUE (अद्वितीय) डेटाची विशिष्टता सुनिश्चित करण्यासाठी निर्देशांक.

चला एक उदाहरण वापरून पहा: खालील सारणीमध्ये कोणतीही अनुक्रमणिका आणि प्राथमिक की नाहीत, त्यामुळे सारणी एकाधिक डुप्लिकेट रेकॉर्डला अनुमती देते.

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

जर तुम्ही टेबलमध्ये प्रथम_नाव आणि आडनाव फील्ड सेट करू इच्छित असाल तर, डेटाची पुनरावृत्ती होऊ शकत नाही, तुम्ही डेटाची विशिष्टता सेट करण्यासाठी दुहेरी प्राथमिक की मोड सेट करू शकता. तुम्ही दुहेरी प्राथमिक की सेट केल्यास, त्या कीचे डीफॉल्ट मूल्य NULL असू शकत नाही, परंतु NOT 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)

INSERT ignore INTO डेटा घालताना, रेकॉर्डची विशिष्टता सेट केल्यानंतर, डुप्लिकेट डेटा घातल्यास, कोणतीही त्रुटी दिली जाणार नाही, परंतु फक्त एक चेतावणी दिली जाईल.आणि REPLACE INTO मध्ये प्राथमिक किंवा अद्वितीय रेकॉर्ड असल्यास, प्रथम ते हटवा.नवीन रेकॉर्ड घाला.

तुमच्या डेटाची विशिष्टता सेट करण्याचा दुसरा मार्ग म्हणजे याप्रमाणे एक अद्वितीय अनुक्रमणिका जोडणे:

CREATE TABLE person_tbl
(
   first_name CHAR(20) NOT NULL,
   last_name CHAR(20) NOT NULL,
   sex CHAR(10)
   UNIQUE (last_name, first_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(*) वापरा.
  • GROUP BY खंडामध्ये सूचीबद्ध केलेले स्तंभ.
  • HAVING खंड 1 पेक्षा जास्त पुनरावृत्तीची संख्या सेट करतो.

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

तुम्हाला युनिक डेटा वाचायचा असल्यास, तुम्ही डुप्लिकेट डेटा फिल्टर करण्यासाठी SELECT स्टेटमेंटमधील 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 (इंडेक्स) आणि PRIMAY KEY (प्राथमिक की) देखील जोडू शकता.खालीलप्रमाणे पद्धती:

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

नवीनतम अपडेट्स मिळवण्यासाठी चेन वेइलियांगच्या ब्लॉगच्या टेलिग्राम चॅनेलवर आपले स्वागत आहे!

🔔 चॅनल टॉप डिरेक्टरीमध्ये मौल्यवान "ChatGPT Content Marketing AI टूल वापर मार्गदर्शक" मिळवणारे पहिले व्हा! 🌟
📚 या मार्गदर्शकामध्ये प्रचंड मूल्य आहे, 🌟ही एक दुर्मिळ संधी आहे, ती चुकवू नका! ⏰⌛💨
आवडल्यास शेअर आणि लाईक करा!
तुमचे शेअरिंग आणि लाईक्स ही आमची सतत प्रेरणा आहे!

 

评论 评论

आपला ईमेल पत्ता प्रकाशित केला जाणार नाही. 用 项 已 用 * लेबल

वर स्क्रोल करा