sql >> データベース >  >> RDS >> Mysql

MySqlテーブルをJSON形式に

    これを試してください:

    SET @schema = 'test_db';
    SET @table = 'test';
    
    SELECT CONCAT(
      'SELECT CONCAT(TRIM(TRAILING ', QUOTE(','), ' FROM CONCAT(', QUOTE('{'), ',', 
      GROUP_CONCAT(QUOTE('"'), ',', QUOTE(COLUMN_NAME), ',', 
      QUOTE('"'), ',', QUOTE(':'), ',', QUOTE('"'), ',', COLUMN_NAME, ',', 
      QUOTE('"'),',', QUOTE(',')),
      ')), ''}'') FROM ', @table
    )
    INTO @qry FROM 
      (SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c
      WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table) t;
    
    SELECT @qry;
    PREPARE stmt FROM @qry;
    EXECUTE stmt;
    

    上記のクエリは、JSON形式のテーブルデータを生成します。クエリを使用すると、データベースとテーブルの名前を入力パラメータとして使用してストアドプロシージャを準備し、データを入力できます。テーブルの一部の列を除外する場合は、INFORMATION_SCHEMAからデータを選択するクエリを変更するだけです。 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table AND COLUMN_NAME NOT IN (**columns to exclude**)のようなデータベース 。



    1. Oracleクライアント11で.NETアプリケーションをデプロイするために必要な最小限のセットアップは何ですか?

    2. MYSQLの新規インストール、ユーザー「root」のアクセスが拒否されました

    3. リモートサーバーからAmazonEC2のmysqlに接続します

    4. テーブル内のテーブルをクエリするにはどうすればよいですか?