Dokumentacja

Schemat, pytania, bezpieczny SELECT

Tu jest materiał, który wcześniej zajmował stronę główną: jak wyjąć strukturę bazy i czego narzędzie nie zrobi z danymi.

Jak zacząć

  1. Wyjmij nazwy tabel i kolumn zapytaniem dla swojego silnika (niżej) albo skorzystaj z instrukcji wklejania schematu.
  2. Na stronie Wklej schemat wygenerujesz SQL bez konta.
  3. Żeby wracać do tego samego schematu, zaloguj się i wgraj JSON na stronie Załaduj schemat.

FAQ

Czy modyfikujecie dane w bazie?

Nie. System przepuszcza wyłącznie jedno zapytanie SELECT, z wymuszonym LIMIT i filtrami instrukcji modyfikujących.

Gdzie trafiają wyniki zapytań?

Do przeglądarki. Nie zapisujemy ich na stałe.

Czy mogę uruchomić to u siebie?

Tak, w modelu konsultacji on-prem / VPC. Szczegóły ochrony są na stronie Bezpieczeństwo.

Jak wygenerować schemat (tabele i kolumny)

Wklej odpowiednie zapytanie w swojej bazie i wyeksportuj wynik. Podmień nazwę bazy albo schemy.

MySQL / MariaDB

SELECT
  TABLE_NAME,
  COLUMN_NAME,
  DATA_TYPE,
  IS_NULLABLE,
  COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'twoja_baza'
ORDER BY TABLE_NAME, ORDINAL_POSITION;

PostgreSQL

SELECT
  table_name,
  column_name,
  data_type,
  is_nullable
FROM information_schema.columns
WHERE table_schema = 'public'
ORDER BY table_name, ordinal_position;

SQL Server

SELECT
  TABLE_SCHEMA,
  TABLE_NAME,
  COLUMN_NAME,
  DATA_TYPE,
  IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;

SQLite

SELECT name AS table_name
FROM sqlite_master
WHERE type = 'table' AND name NOT LIKE 'sqlite_%'
ORDER BY name;

PRAGMA table_info('twoja_tabela');

Oracle — 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;

Oracle — konkretny OWNER

OWNER to nazwa schemy, zwykle wielkimi literami, np. HR. Sprawdzisz ją przez SELECT USER FROM dual;

SELECT
  OWNER,
  TABLE_NAME,
  COLUMN_NAME,
  DATA_TYPE,
  NULLABLE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
ORDER BY TABLE_NAME, COLUMN_ID;