How SQL Schema Diff compares two DDL schemas
Use SQL Schema Diff to compare Schema A (original) with Schema B (modified). It parses supported CREATE TABLE, CREATE INDEX, and CREATE VIEW statements, then reports added, removed, and changed tables, columns, keys, constraints, indexes, and views.
The change log names each affected object and shows what changed. For a modified column, it lists the individual properties that differ, such as type or nullability.
Choose the SQL dialect and add both schemas
Choose MySQL / MariaDB, PostgreSQL, SQLite, or SQL Server (T-SQL). The selection controls which syntax the parser recognizes.
- Enter DDL in the Schema A (original) and Schema B (modified) text areas.
- Alternatively, use Drop a .sql file here or browse files on either side. The file input accepts
.sql,.ddl, and.txtfiles, shown as SQL, DDL, TXT. - The comparison updates automatically after both schemas contain usable DDL.
Review structural differences
Read the Change log after comparing. It lists added, removed, and changed tables, columns, types, nullability, defaults, primary keys, foreign keys, unique and check constraints, indexes, and supported views. For a changed column, each modified property appears with its old and new value.
Parser limitations and unsupported SQL
This is a structural DDL parser, not a full SQL engine. ALTER TABLE, triggers, stored procedures, functions, sequences, permissions, and DML such as INSERT, UPDATE, and DELETE are not structurally parsed. Unsupported or unparsed statements are excluded from structural comparison and produce warning text with a count or general limitation message; the warnings panel does not list each skipped statement's full text individually.
Complex generated-column expressions, partitioning clauses, storage options, and unparsed column modifiers are not deeply compared. Table tail options are stored but are not structurally compared.
Renames are not inferred
The tool does not infer table or column renames. A rename appears as a removed object plus an added object.
Privacy and database scope
The tool parses DDL text pasted or uploaded in the browser. It does not connect to a live database, execute SQL, or compare table row data. For row-level queries, use the SQL Query Tool for CSV & JSON instead.
Frequently Asked Questions
Does this tool connect to my database?
No. SQL Schema Diff only parses the DDL text you paste or upload. It never connects to a live database, never executes SQL, and never compares table row data - only structural schema objects.
Does it detect renamed tables or columns?
No, and this is intentional. Renames are never inferred, since a rename and a genuine remove-and-add are indistinguishable from DDL text alone. A renamed table or column is always reported as a removed object plus an added object.
What SQL is not parsed?
The parser understands CREATE TABLE, CREATE INDEX, and CREATE VIEW statements. ALTER TABLE, triggers, stored procedures, functions, sequences, permissions, and DML (INSERT/UPDATE/DELETE) are not structurally parsed; they produce warning text and are excluded from the structural comparison. The warnings panel does not list each skipped statement's full text individually.
Does this tool generate or run SQL migrations?
No. SQL Schema Diff only compares the schema definitions you provide and lists the differences. It does not generate or execute migration statements or connect to a database.
How is this different from the SQL Query Tool for CSV & JSON?
SQL Schema Diff compares database object definitions (DDL) - tables, columns, keys, constraints, indexes, views. The SQL Query Tool for CSV & JSON runs SQL queries against your data to filter, join, and transform rows. This tool never looks at row data at all.