Untuk menggunakan jenis data JSON dalam MySQL 5.7 dan kemudian, anda perlu memastikan bahawa anda menggunakan versi MySQL yang serasi. Oleh kerana MySQL 5.7, jenis data JSON telah diperkenalkan dan boleh digunakan untuk menyimpan dokumen JSON secara langsung dalam lajur jadual. Berikut adalah panduan langkah demi langkah untuk menggunakan jenis data JSON:
Buat jadual dengan lajur JSON : Apabila membuat jadual, tentukan jenis JSON untuk lajur. Contohnya:
<code class="sql">CREATE TABLE my_table ( id INT AUTO_INCREMENT PRIMARY KEY, data JSON );</code>
Masukkan data JSON : Anda boleh memasukkan data JSON ke dalam lajur JSON secara langsung atau melalui rentetan. MySQL secara automatik mengesahkan struktur JSON:
<code class="sql">INSERT INTO my_table (data) VALUES ('{"name": "John", "age": 30}');</code>
Memanipulasi Data JSON : MySQL menyediakan pelbagai fungsi untuk memanipulasi data JSON. Sebagai contoh, untuk menambah medan baru ke dokumen JSON yang sedia ada:
<code class="sql">UPDATE my_table SET data = JSON_SET(data, '$.city', 'New York') WHERE id = 1;</code>
Data JSON pertanyaan : Anda boleh menggunakan fungsi JSON untuk mengekstrak data dari lajur JSON:
<code class="sql">SELECT JSON_EXTRACT(data, '$.name') AS name FROM my_table;</code>
Pengindeksan Data JSON : MySQL menyokong pengindeksan bidang khusus dalam dokumen JSON, yang dapat meningkatkan prestasi pertanyaan. Contohnya:
<code class="sql">CREATE INDEX idx_data_name ON my_table ( (JSON_EXTRACT(data, '$.name')) );</code>
Menggunakan Jenis Data JSON di MySQL menawarkan beberapa faedah untuk penyimpanan data:
Untuk pertanyaan dan indeks data JSON dengan cekap di MySQL, anda boleh mengikuti strategi ini:
Gunakan Fungsi JSON : MySQL menyediakan satu set fungsi JSON yang kaya untuk menanyakan data. Sebagai contoh, untuk mencari dokumen di mana bidang tertentu wujud dan sepadan dengan nilai:
<code class="sql">SELECT * FROM my_table WHERE JSON_EXTRACT(data, '$.name') = '"John"';</code>
Menjana lajur : Gunakan lajur yang dihasilkan untuk membuat lajur maya dari data JSON, yang boleh diindeks:
<code class="sql">ALTER TABLE my_table ADD COLUMN name VARCHAR(255) AS (JSON_UNQUOTE(JSON_EXTRACT(data, '$.name'))) STORED; CREATE INDEX idx_name ON my_table(name);</code>
Indeks Multi-Nilai : Untuk tatasusunan dalam JSON, anda boleh membuat indeks berbilang nilai untuk mempercepat pertanyaan:
<code class="sql">CREATE INDEX idx_data_tags ON my_table ( (JSON_EXTRACT(data, '$.tags')) );</code>
Gunakan json_search : Untuk mencari nilai dalam dokumen JSON:
<code class="sql">SELECT * FROM my_table WHERE JSON_SEARCH(data, 'one', 'New York') IS NOT NULL;</code>
Walaupun kelebihan mereka, jenis data JSON di MySQL juga datang dengan beberapa batasan dan kelemahan yang berpotensi:
Memahami batasan -batasan ini membantu dalam membuat keputusan yang tepat mengenai kapan dan bagaimana menggunakan jenis data JSON dalam MySQL dengan berkesan.
Atas ialah kandungan terperinci Bagaimana anda menggunakan jenis data JSON di MySQL 5.7 dan kemudian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!