JSON adalah alias untuk LONGTEXT yang diperkenalkan untuk alasan kompatibilitas dengan tipe data JSON MySQL. MariaDB mengimplementasikan ini sebagai LONGTEXT, karena tipe data JSON bertentangan dengan standar SQL, dan tolok ukur MariaDB menunjukkan bahwa kinerja setidaknya setara Show
Untuk memastikan bahwa dokumen json yang valid dimasukkan, fungsi JSON_VALID dapat digunakan sebagai a. Batasan ini secara otomatis disertakan untuk tipe yang menggunakan alias JSON dari MariaDB 10. 4. 3 ContohCREATE TABLE t (j JSON); DESC t; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | j | longtext | YES | | NULL | | +-------+----------+------+-----+---------+-------+ Dengan validasi CREATE TABLE t2 ( j JSON CHECK (JSON_VALID(j)) ); INSERT INTO t2 VALUES ('invalid'); ERROR 4025 (23000): CONSTRAINT `j` failed for `test`.`t2` INSERT INTO t2 VALUES ('{"id": 1, "name": "Monty"}'); Query OK, 1 row affected (0.13 sec)_ Replikasi Data JSON Antara MySQL dan MariaDBJenis JSON di MySQL menyimpan objek JSON dalam bentuk yang ringkas, bukan LONGTEXT seperti di MariaDB. Ini berarti replikasi berbasis baris tidak akan berfungsi untuk tipe JSON dari MySQL ke MariaDB Ada beberapa cara berbeda untuk menyelesaikan ini
Mengonversi MySQL TABLE dengan JSON Fields ke MariaDBMariaDB tidak dapat langsung mengakses format JSON MySQL Ada beberapa cara berbeda untuk memindahkan tabel ke MariaDB Perbedaan Antara String JSON MySQL dan String JSON MariaDBLihat jugaKomentarKonten yang direproduksi di situs ini adalah milik dari pemiliknya masing-masing, dan konten ini tidak ditinjau sebelumnya oleh MariaDB. Pandangan, informasi, dan opini yang diungkapkan oleh konten ini tidak selalu mewakili MariaDB atau pihak lain mana pun Artikel ini menjelaskan berbagai cara mengekspor data MySQL ke format file JSON. JSON adalah singkatan dari Notasi Objek JavaScript. Ini adalah format file yang ringan untuk menyimpan dan mentransfer data, biasanya digunakan saat data dikirim dari server ke halaman web Pada bagian pertama artikel ini, kita akan melihat beberapa fungsi MySQL sebagai salah satu solusi untuk mengekspor data MySQL ke JSON. Selanjutnya, kita akan melihat bagaimana fungsi keluaran MySQL Shell dan JSON dapat digunakan untuk mencapai tujuan yang sama, dan yang terakhir, kita akan mengenal ekstensi, ApexSQL Database Power Tools untuk VS Code dan fitur Ekspor ke JSON Metode berikut untuk mengekspor akan digunakan
Untuk artikel ini, kode SQL di bawah ini akan digunakan sebagai contoh CREATE DATABASE addresses; USE addresses; CREATE TABLE location ( address_id int NOT NULL AUTO_INCREMENT, address varchar(50) NOT NULL, address2 varchar(50) DEFAULT NULL, PRIMARY KEY (address_id) ); INSERT INTO location VALUES (NULL, '1586 Guaruj Place', '47 MySakila Drive'), (NULL, '934 San Felipe de Puerto Plata Street', NULL), (NULL, '360 Toulouse Parkway', '270, Toulon Boulevard'); (sumber. Cara mengekspor data MySQL ke CSV) Mengekspor data MySQL ke JSON menggunakan fungsi CONCAT() dan GROUP_CONCAT()Menggunakan kombinasi dan fungsi, data dari string SQL dapat diubah menjadi format JSON Di editor kueri, jalankan kode berikut SELECT CONCAT("[", GROUP_CONCAT( CONCAT("{address_id:'",address_id,"'"), CONCAT("address:'",address,"'"), CONCAT(",address2:'",address2,"'}") ) ,"]") AS json FROM location; Hasilnya akan seperti ini [{alamat_id. ’1’address. ’1586 Guaruj Place’, alamat2. ’47 MySakila Drive’},{address_id. ’3’alamat. ’360 Toulouse Parkway’, alamat2. ’270, Toulon Boulevard’}] Untuk mengekspor hasil ini dari hasil kueri ke file JSON, tambahkan satu baris kode lagi SELECT CONCAT("[", GROUP_CONCAT( CONCAT("{address_id:'",address_id,"'"), CONCAT("address:'",address,"'"), CONCAT(",address2:'",address2,"'}") ) ,"]") AS json FROM location INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/location.json'_ Setelah dieksekusi, hasilnya akan seperti pada gambar di bawah ini
Mengekspor data MySQL ke JSON menggunakan fungsi JSON_OBJECT dan JSON_ARRAYAGGFungsi JSON_OBJECT memetakan sejumlah variabel argumen ke objek JSON. Itu membuat daftar pasangan nilai kunci dan mengembalikan objek JSON yang berisi pasangan tersebut. Dengan memberikan setiap pasangan kunci/nilai sebagai dua argumen terpisah. Setiap pasangan menjadi pasangan kunci/nilai dalam objek JSON yang dihasilkan Ketika kode di bawah ini dijalankan SELECT JSON_OBJECT ('address_id', address_id, 'address', address, 'address2', address2) FROM location; Hasilnya harus seperti ini Sekarang, mari ubah kode untuk mengekspor data ke file JSON. Jalankan yang berikut ini SELECT JSON_OBJECT ('address_id', address_id, 'address', address, 'address2', address2) FROM location INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/location.json'_ Ketika file JSON yang baru dibuat dibuka, hasilnya akan terlihat seperti ini Jika Anda ingin hasil ditetapkan sebagai satu baris yang berisi larik JSON dengan satu objek per baris, maka fungsi JSON_ARRAYAGG harus digunakan dalam kombinasi dengan fungsi JSON_OBJECT. Setiap baris dari kumpulan hasil berakhir sebagai elemen tunggal dalam larik Jalankan hasil di bawah ini untuk melihat hasilnya SELECT JSON_ARRAYAGG(JSON_OBJECT ('address_id', address_id, 'address', address, 'address2', address2)) FROM location Tambahkan perintah INTO OUTFILE untuk mengekspor data MySQL ke file JSON SELECT JSON_ARRAYAGG(JSON_OBJECT ('address_id', address_id, 'address', address, 'address2', address2)) FROM location INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/location.json';_
Ekspor data MySQL ke JSON menggunakan MySQL Shell dan Output Format JSONMySQL Shell menyediakan beberapa opsi format JSON untuk mencetak kumpulan hasil
Mulai MySQL Shell dan sambungkan ke database tempat Anda ingin mengekspor data Untuk terhubung ke database, di MySQL Shell jalankan perintah berikut \hubungkan root@localhost. 33060/alamat Format file keluaran jsonUntuk memformat nilai data dalam keluaran json, di MySQL Shell, jalankan kode berikut shell.options.set('resultFormat','json')_ Setelah itu, jalankan kode berikut untuk menarik data dari tabel lokasi session.sql("select * from location") Outputnya akan terlihat seperti ini
Format file keluaran ndjsonDi Shell MySQL, jalankan kode berikut untuk mengubah format hasil shell.options.set('resultFormat','ndjson') Sekarang, saat kode dieksekusi session.sql("select * from location") Hasilnya akan seperti ini {“alamat_id”. 1, "alamat". ”1586 Guaruj Place”,”alamat2″. ”47 MySakila Drive”} Format file keluaran json/arrayUntuk beralih ke format hasil json/array, di MySQL Shell jalankan kode di bawah ini SELECT CONCAT("[", GROUP_CONCAT( CONCAT("{address_id:'",address_id,"'"), CONCAT("address:'",address,"'"), CONCAT(",address2:'",address2,"'}") ) ,"]") AS json FROM location;1 Sekarang, ketika pernyataan SELECT dijalankan, hasilnya akan terlihat seperti ini [ Mengekspor data MySQL menggunakan perangkat lunak pihak ketigaApexSQL Database Power Tools for VS Code adalah ekstensi yang dapat mengekspor data dari kisi hasil ke dalam format file JSON hanya dalam beberapa langkah. Selain JSON, ekstensi ini memiliki opsi untuk mengekspor data MySQL ke format file CSV, Excel, dan HTML Untuk mengekspor data, dalam Visual Studio Code di bawah panel explorer server ApexSQL, buka kueri baru Di editor kueri yang baru dibuka, jalankan pernyataan SELECT dari mana Anda ingin hasilnya diekspor Di pojok kanan atas kisi hasil, klik ikon Ekspor ke JSON. Di jendela Save As, pilih lokasi untuk mengekspor data MySQL ke file JSON, di bawah File name masukkan nama file dan klik tombol Save Setelah file disimpan, di pojok kanan bawah aplikasi, muncul pesan info dengan tombol Show. Ketika diklik, itu akan membuka lokasi penyimpanan file Bagaimana cara mengonversi teks ke JSON di MySQL?Mengekspor data MySQL ke JSON menggunakan fungsi CONCAT() dan GROUP_CONCAT() . Menggunakan kombinasi fungsi CONCAT() dan GROUP_CONCAT(), data dari string SQL dapat diubah menjadi format JSON.
Bagaimana cara mendapatkan data JSON dari kueri MySQL?Untuk objek JSON, jalur ditentukan dengan $. key , dimana key adalah kunci dari objek. . Gunakan $. . Gunakan $[indeks] untuk mengekstrak nilai elemen dari larik JSON Gunakan -> sebagai jalan pintas untuk JSON_EXTRACT jika nilainya bukan string Bagaimana cara membuat tipe data JSON di MySQL?Kita dapat mendefinisikan kolom tipe data JSON di tabel MySQL menggunakan indeks berikut. BUAT TABEL table_name ( . BUAT acara TABEL ( event_id INT AUTO_INCREMENT PRIMARY KEY, event_name varchar(75), pengunjung varchar(25), properti json, browser_name json Bagaimana cara memperbarui tipe data teks di MySQL?Berikut adalah sintaks untuk mengubah tipe data kolom di MySQL. . ALTER TABLE table_name MODIFIKASI tipe data nama_kolom; |