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

Bagaimana saya bisa mengimpor file JSON ke database MySQL, menggunakan kueri sederhana, tanpa benar-benar mengonversinya ke format file lain seperti CSV dll.?

Referensi:https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html

Saya tahu ini adalah utas yang lebih lama, tetapi MySQL 5.7 sekarang memiliki tipe JSON di mana Anda dapat mengimpor JSON ke dalam bidang, lalu Anda dapat menggunakan bidang terhitung untuk membagi json menjadi bidang terpisah. Berikut kode kasarnya (belum diuji):

Buat Tabel Pengujian JSON:

CREATE TABLE IF NOT EXISTS jsontest(
     rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
     jsondata json,
     `executionDateTime` TIMESTAMP,
     `A` BIGINT UNSIGNED,
     `B` BIGINT UNSIGNED,
     );

Impor JSON Anda ke bidang JSON:

LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);

Pisahkan Data Anda (ini dapat digabungkan menjadi satu perintah)

UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');

Jika Anda tidak ingin memiliki bidang tambahan, Anda dapat menanyakan bidang jsondata seperti ini:

SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
       jsondata->>"$.A" AS A,
       jsondata->>"$.B" AS B;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasil 'n' teratas untuk setiap kata kunci

  2. Bagaimana cara menyimpan banyak nilai dalam satu kolom di mana menggunakan lebih sedikit memori?

  3. Mengubah TIME mysql dari 24 HR ke format AM/PM

  4. MYSQL pilih 3 baris terakhir, pesan berdasarkan ASC

  5. Saya ingin menyalin tabel yang terdapat dari satu database dan menyisipkan ke tabel database lain