Get Started Free

More about generating test data for SQL databases

A table full of believable rows makes it far easier to test queries, indexes, reports and application screens. This tool generates the rows and writes them as a script for the database you use, so you can run it without editing.

What changes per database

Realistic, consistent rows

Columns in one row agree with each other: the email is built from that row's first and last name, and city, country, postal code and coordinates all describe the same place. Set a % null on any column to leave some values empty; those columns are created without NOT NULL.

Frequently asked questions

How do I generate test data for a SQL table?

Pick a preset or add your own columns, choose your database, set the number of rows, then copy or download the script and run it, for example with psql, mysql, sqlcmd, sqlite3 or SQL Developer.

Which databases are supported?

PostgreSQL, MySQL, MariaDB, SQL Server, SQLite and Oracle. Each gets its own column types, value literals, identifier quoting and batching rules.

Can I insert into a table that already exists?

Yes. Untick Include CREATE TABLE and make the column names match your table; the script will contain only the INSERT statements.

Does the generated data contain real people?

No. Names are combined at random from common first and last names, emails use reserved example.com domains, and phone numbers use the 555 range, so nothing maps to a real person or a deliverable address.

VisuaLeaf

Query your generated data visually in VisuaLeaf

Open the table you just filled in VisuaLeaf to browse and edit rows, build queries visually, see your schema as a diagram, and chart the results. One client for PostgreSQL, MySQL, SQL Server, SQLite, Oracle and MongoDB.

MongoDB & SQL in one client
Visual query & aggregation builders
Live visual schema diagrams
Charts, dashboards & query profiler
Connection manager for local, cloud & teams
Free Community Edition