Turn your MySQL or MariaDB schema into a realistic, fully related dataset. Download one .sql file and load it with a single mysql command.
Free trial for every new account. No credit card.
-- ============================================================
-- Synthetic dataset : online_store
-- Dialect : MySQL / MariaDB
-- Contents : 3 table(s), 25,000 row(s)
-- Load with : mysql your_database < this_file.sql
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
START TRANSACTION;
INSERT INTO `customers` (`id`, `name`, `email`, `city`) VALUES
(1042, 'Priya Nair', 'priya.nair@example.com', 'Pune'),
(1043, 'Lucas Meyer', 'lucas.meyer@example.com', 'Berlin');
INSERT INTO `orders` (`id`, `customer_id`, `ordered_at`, `total`) VALUES
(5512, 1042, '2026-03-14', 49.00);
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
Sample output, shortened. Your file contains every table and row you asked for.
Upload your CREATE TABLE statements (a mysqldump --no-data file works well) or describe the tables you need in plain English.
Parent tables are filled first and child rows only reference keys that exist, so joins and constraints behave like production.
Identity columns are written in a way MySQL accepts, so your app can keep inserting after the load.
Rows are written as batched multi-row INSERTs for fast loading.
Order totals match their line items, dates follow each other in the right order, and statuses follow realistic proportions.
We read structure only. Any data rows in an uploaded file are removed before processing.
Describe your data in plain English, or upload your SQL schema for PostgreSQL, MySQL / MariaDB, SQL Server and SQLite.
Check the tables, columns and rules the AI proposes, and adjust anything you like.
Choose how many rows you need and download a ready-to-run SQL script, CSV, Excel (one sheet per table) or JSON.
Yes. The MySQL output is compatible with MariaDB.
Yes. Every dataset can also be downloaded as CSV, Excel (one sheet per table) or JSON.
Yes. Tables are generated in dependency order and inserted in the same order, so the data is consistent with your constraints.
No. GenerateRealData never needs real rows: it works from your schema's structure or a plain-English description.