Jak wygenerować plik schema.json ze schematem bazy
Najprościej: phpMyAdmin (MySQL/MariaDB) lub Oracle SQL Developer
Po eksporcie zapisz plik jako schema.json i wgraj go do AI-SQL-Chat na stronie
„Załaduj schemat”. Dzięki temu generator stworzy jedno bezpieczne zapytanie SELECT
dopasowane do Twojej struktury. Szczegóły zabezpieczeń znajdziesz w sekcji Bezpieczeństwo.
MySQL / MariaDB (phpMyAdmin) — 3 kroki
Najprościej w phpMyAdmin (MySQL/MariaDB)twoja_baza na nazwę swojego schematu:
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'twoja_baza' -- <-- PODMIEŃ ORDER BY TABLE_NAME, ORDINAL_POSITION;
► Opcjonalnie: jeden strzał zagnieżdżony JSON (MySQL 8+)
Dla MySQL 8+ możesz od razu złożyć jeden obiekt z tabelami i ich kolumnami.
SELECT JSON_OBJECTAGG(tbl.table_name, tbl.columns_json) AS schema_json
FROM (
SELECT
c.TABLE_NAME AS table_name,
JSON_ARRAYAGG(
JSON_OBJECT(
'column', c.COLUMN_NAME,
'type', c.DATA_TYPE,
'null', c.IS_NULLABLE,
'key', c.COLUMN_KEY
) ORDER BY c.ORDINAL_POSITION
) AS columns_json
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.TABLE_SCHEMA = 'twoja_baza' -- <-- PODMIEŃ
GROUP BY c.TABLE_NAME
) AS tbl;
- Po wykonaniu zapytania kliknij Eksport (na dole listy wyników).
- Wybierz Format: JSON i zatwierdź.
- Nazwij plik np.
schema.jsoni zapisz go lokalnie.
Wejdź na /schema-query.html, wybierz plik .json i kliknij
Wgraj. Od tej chwili generator SQL będzie używał Twojego schematu.
Schemat służy tylko do mapowania nazw tabel/kolumn (bez wyników zapytań).
Oracle (SQL Developer) — 3 kroki
Eksport metadanych do JSON (koniecznie wybierz format json-formatted)SELECT OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE FROM ALL_TAB_COLUMNS WHERE OWNER = 'HR' -- <-- PODMIEŃ NA SWOJĄ SCHEMĘ ORDER BY TABLE_NAME, COLUMN_ID;
SELECT USER FROM dual; lub SELECT username FROM all_users;
- Kliknij prawym w siatkę wyników → Export… (lub użyj „Export Wizard”).
- Format: json-formatted — to jest kluczowe.
- Save As: Single File, nazwa np.
schema.json, Encoding: UTF-8.
Przejdź na /schema-query.html, wybierz plik schema.json i kliknij
Wgraj. Od teraz generator SQL zna nazwy Twoich tabel i kolumn.
Nie wysyłamy danych biznesowych — tylko metadane (nazwy) trafiają do schematu.
Inne silniki (skrótowe zapytania)
► PostgreSQL
Przez information_schema:
SELECT table_name AS table_name, column_name AS column_name, data_type AS data_type, is_nullable FROM information_schema.columns WHERE table_schema = 'public' -- <-- podmień ORDER BY table_name, ordinal_position;
► SQL Server
Azure SQL / MS SQL:
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS -- opcjonalnie zawęź: -- WHERE TABLE_CATALOG = 'TwojaBaza' AND TABLE_SCHEMA = 'dbo' ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
► Oracle
Skrótowe (Twoje tabele):
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE FROM USER_TAB_COLUMNS ORDER BY TABLE_NAME, COLUMN_ID;
Dla konkretnego OWNER:
SELECT OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE FROM ALL_TAB_COLUMNS WHERE OWNER = 'HR' -- <-- PODMIEŃ NA SWOJĄ SCHEMĘ ORDER BY TABLE_NAME, COLUMN_ID;