Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सीएसवी के साथ MySQL की तुलना करें और अंतर खोजें

इसे करने का एक तरीका:

(यह मानते हुए कि आप पहले से ही जानते हैं कि किसी फ़ाइल को कैसे खोलना है और किसी क्वेरी को कैसे निष्पादित करना है।)

पहले अपने CSV से पंक्तियों को पढ़ें और मान लें कि SQL में डेटा अनुपलब्ध है।

while (($row = fgetcsv($file)) !== FALSE) {
    $num = $row[0];  // or whatever CSV column the value you want is in
    $result[$num] = ['csv' => $num, 'sql' => '', 'status' => 'MISSING IN SQL'];
}

फिर अपनी क्वेरी से पंक्तियाँ प्राप्त करें और आपके द्वारा CSV से बनाई गई सरणी को तदनुसार भरें।

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $num = $row['EAN']; // or whatever your column is named
    if (isset($result[$num])) {
        // This has a value from the CSV, so update the array
        $result[$num]['sql'] = $num;
        $result[$num]['status'] = 'OK';
    } else {
        // This doesn't have a value from the CSV, so insert a new row
        $result[$num] = ['csv' => '', 'sql' => $num, 'status' => 'MISSING IN CSV'];
    }
}

आप इसका क्रम बदल सकते हैं और पहले क्वेरी परिणामों को संसाधित कर सकते हैं। कोई भी ऑर्डर तब तक काम करेगा, जब तक आप दूसरे डेटा स्रोत के साथ अपडेट/इन्सर्ट लॉजिक करते हैं।

आप ksort($result); . कर सकते हैं यदि आप मर्ज किए गए मानों को क्रम में रखना चाहते हैं, तो आउटपुट $result हालाँकि आपको इसकी आवश्यकता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पंक्तियों की गणना तब तक करें जब तक कि कॉलम में मान mysql बदल न जाए

  2. INDEXes का उपयोग न करने वाले क्वेरी चर के साथ चयन करें

  3. नोड.जेएस में MySQL रिटर्न वैल्यू को प्रोसेस करने के वादे का उपयोग करें

  4. डुप्लिकेट प्रविष्टियों के लिए त्रुटि को कैसे संभालें?

  5. mysql में रेगेक्स लुकहेड/लुकबेइंड कैसे लिखें?