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

Bisakah saya membuat tabel mySQL secara dinamis dari JSON?

Sepotong kode sederhana untuk membuat tabel mysql dan memasukkan nilai dari variabel JSON apa pun. Ini adalah peretasan cepat.. periksa jenis bidang dll :) Mungkin ada cara yang lebih baik, tetapi cara ini berhasil dan telah menghemat waktu saya dalam penamaan bidang secara manual

Ini dapat dimodifikasi untuk membuat tabel relasi yang menangani objek juga. Sekarang, itu dibuat untuk barang-barang JSON yang dibentuk array dan bukan objek yaitu array dalam array.

<?php

    JSON_to_table($place_your_JSON_var_here_please);

            function JSON_to_table($j_obj, $tblName = "New_JSON_table_" . time()){
            $j_obj = json_decode($your_JSON_variable, true);
            if(!mysql_num_rows( mysql_query("SHOW TABLES LIKE '" . $tblName . "'"))){ 
                $cq = "CREATE TABLE ". $tblName ." (
                id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,";
                foreach($j_obj as $j_arr_key => $value){
                    $cq .= $j_arr_key . " VARCHAR(256),";
                }
                $cq = substr_replace($cq,"",-1);
                $cq .= ")";
                mysql_query($cq) or die(mysql_error());
            }

            $qi = "INSERT INTO $tblName (";
            reset($j_obj);
                foreach($j_obj as $j_arr_key => $value){
                    $qi .= $j_arr_key . ",";
                }
                $qi = substr_replace($qi,"",-1);
            $qi .= ") VALUES (";
            reset($j_obj);
                foreach($j_obj as $j_arr_key => $value){
                    $qi .= "'" . mysql_real_escape_string($value) . "',";
                }
            $qi = substr_replace($qi,"",-1);
            $qi .= ")";
            $result = mysql_query($qi) or die(mysql_error());

        return true;
            }
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menemukan dan Mengganti Teks di Database MySQL menggunakan SQL

  2. Apa kelebihan dan kekurangan menyimpan file dalam database?

  3. Cara regex dalam kueri MySQL

  4. Hapus baris dengan Pemicu Mysql

  5. Tambahkan hasil dari kueri ke baris hasil yang sama di PostgreSQL - Redshift