SQL Test Data Generator — Dummy INSERT Rows for Fixtures

Generate dummy INSERT rows for fixtures and DB seed. Preset a table, rename columns, copy SQL for psql, mysql, or sqlite3. Reserved example emails and phones — not a converter, not a SQL formatter, not a live mock API, not an identity pack, and not a fiddle.

Loading…
SQL test data — developer notes
Dummy INSERT rows for fixtures and DB seed. Dialect quoting and typed literals from the schema — not a JSON-to-SQL converter, not a SQL formatter, and not an identity pack.

How generation works

Pick a preset, country, quantity (1–100), SQL table name, and dialect. Optionally prefix CREATE TABLE IF NOT EXISTS. Edit column names and types in the schema table, or paste a header / simple CREATE TABLE. Changing any option refreshes the SQL immediately. Copy all copies the preview SQL.

Options

Preset
Seeds the column list: user (id, names, email, phone, username), company (id, company_name, email), or blank (single uuid id). Changing preset replaces custom columns and updates the table name only if it still matches the previous default.
Country
Drives name locale, company suffix style, reserved phone ranges, and postal masks in the same row.
Quantity (1–100)
How many VALUES tuples to emit. Capped at 100 for fixture jobs.
SQL table name
INSERT INTO / CREATE TABLE target. Sanitized then always quoted for the selected dialect.
Dialect
PostgreSQL and SQLite use double quotes and TRUE/FALSE. MySQL uses backticks and 1/0. Table and column identifiers are always quoted.
CREATE TABLE
When on, prefixes CREATE TABLE IF NOT EXISTS with inferred SQL types. Leave off if you already have a table. DROP TABLE IF EXISTS is a safety control shown only while CREATE is on — it stays off by default and is never turned on from a Share URL.
Schema columns
Editable grid: column name (SQL ident) and type. Up to 12 columns. Paste a header such as id,email,phone or a simple CREATE TABLE. Same-row name, email, and username correlation when name columns exist.

Examples

User preset, Postgres

Settings

preset=user, dialect=postgres, CREATE off, count=2

Sample output

INSERT INTO "users" ("id", "first_name", …) VALUES ('…-uuid-…', 'Ada', …);

MySQL with CREATE

Settings

dialect=mysql, CREATE on

Sample output

CREATE TABLE IF NOT EXISTS `users` (`id` CHAR(36), …); INSERT INTO `users` …

Related tools

Need a JSON array instead? Use the JSON test data generator. Spreadsheet CSV? CSV test data generator. Already have JSON to convert (not generate)? JSON to SQL. Already have SQL to format? Minify SQL.

SQL test data FAQ

INSERT fixtures, dialects, and what this tool is not

Is this a JSON to SQL converter?

No. This page seeds dummy rows as SQL INSERT. To convert JSON you already have, use JSON to SQL.

Is this a SQL formatter or fiddle?

No. It does not pretty-print or minify existing SQL, and it does not run statements against a database. Use Minify SQL to format SQL you already have.

I already have a table. Should I turn CREATE on?

Leave CREATE off. Turn it on only when you need CREATE TABLE IF NOT EXISTS before the INSERT. DROP stays off unless you check it after CREATE is on.

Do emails use gmail.com or real inboxes?

No. Emails use IANA-reserved domains such as example.com — never consumer mailbox providers. Phones stay in reserved test ranges. Matches are coincidental, not an identity pack.

Synthetic field values for fixtures and DB seed — reserved-range phone numbers first.