sql >> Databáze >  >> RDS >> Mysql

MySql tabulku do formátu JSON

Zkuste toto:

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;

Výše uvedený dotaz generuje data tabulky ve formátu JSON. Pomocí dotazu můžete připravit uloženou proceduru s názvy databáze a tabulek jako vstupní parametry a naplnit data. Pokud chcete vyloučit některé sloupce v tabulce, stačí upravit dotaz, který vybírá data z INFORMATION_SCHEMA databáze jako 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. Chyba jdbc to MYSQL:Nebyl nalezen žádný vhodný ovladač pro jdbc:mysql://localhost:3306/test?user='root'&password=''

  2. Vložení objektu datetime.datetime Pythonu do MySQL

  3. Vytvořte funkci prostřednictvím MySQLdb

  4. MySQL - výběr dat z databáze mezi dvěma daty