Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bandingkan MySQL dengan CSV dan temukan perbedaannya

Salah satu caranya:

(Dengan asumsi Anda sudah tahu cara membuka file dan menjalankan kueri.)

Pertama baca baris dari CSV Anda dan anggap data tidak ada di 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'];
}

Kemudian ambil baris dari kueri Anda dan isi larik yang Anda buat dari CSV yang sesuai.

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'];
    }
}

Anda dapat mengubah urutan ini dan memproses hasil kueri terlebih dahulu. Urutan mana pun akan berfungsi, selama Anda melakukan pembaruan/masukkan logika dengan sumber data kedua.

Anda dapat ksort($result); jika Anda ingin nilai yang digabungkan menjadi berurutan, maka keluaran $result bagaimanapun Anda perlu.




  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:buat kueri ini lebih cepat ... adakah cara?

  2. Bisakah bidang dengan tipe DATE memiliki nilai DEFAULT dengan CURRENT_TIMESTAMP?

  3. Bagaimana cara menambahkan batasan CHECK khusus pada tabel MySQL?

  4. MySQL GROUP Menurut hitungan

  5. MYSQL - Hapus Kueri dengan Gabung