Docs

Schema, questions, safe SELECT

This is the material that used to fill the homepage: how to extract your database structure, and what the tool will not do with data.

How to start

  1. Pull table and column names with the query for your engine (below), or follow the paste-schema guide.
  2. On Paste schema you can generate SQL without an account.
  3. To keep the same schema, sign in and upload JSON on Load schema.

FAQ

Do you modify data in the database?

No. Only one SELECT is allowed, with a forced LIMIT and filters on statements that change data.

Where do query results go?

To the browser. We do not store them permanently.

Can I run this on my own infrastructure?

Yes, as an on-prem / VPC consultation. Protection details are on the Security page.

How to generate a schema (tables and columns)

Run the matching query in your database and export the result. Replace the database or schema name.

MySQL / MariaDB

SELECT
  TABLE_NAME,
  COLUMN_NAME,
  DATA_TYPE,
  IS_NULLABLE,
  COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_database'
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('your_table');

Oracle — your tables

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 — a specific OWNER

OWNER is the schema name, usually uppercase, for example HR. Check it with 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;