SQL to Mock Data Generator
Generate realistic mock data from SQL table schemas
0.5;
case 'date':
const date = new Date(2024, 0, 1);
date.setDate(date.getDate() + index);
return date.toISOString().split('T')[0];
case 'datetime':
const dt = new Date(2024, 0, 1, 10, 0, 0);
dt.setHours(dt.getHours() + index);
return dt.toISOString().replace('T', ' ').split('.')[0];
case 'string':
default:
return `Sample ${columnName} ${index + 1}`;
}
},
getOutput() {
if (!this.mockData.rows) return '';
if (this.outputFormat === 'sql') {
return this.generateSQL();
} else if (this.outputFormat === 'json') {
return JSON.stringify(this.mockData.rows, null, 2);
} else {
return this.generateCSV();
}
},
generateSQL() {
let sql = '';
const tableName = this.mockData.tableName;
const columns = this.mockData.columns.map(c => c.name);
for (const row of this.mockData.rows) {
const values = columns.map(col => {
const value = row[col];
if (typeof value === 'string') {
return `'${value.replace(/'/g, \"''\")}'`;
} else if (typeof value === 'boolean') {
return value ? '1' : '0';
} else if (value === null || value === undefined) {
return 'NULL';
}
return value;
});
sql += `INSERT INTO ${tableName} (${columns.join(', ')}) VALUES (${values.join(', ')});\\n`;
}
return sql;
},
generateCSV() {
const columns = this.mockData.columns.map(c => c.name);
let csv = columns.join(',') + '\\n';
for (const row of this.mockData.rows) {
const values = columns.map(col => {
const value = row[col];
if (typeof value === 'string' && (value.includes(',') || value.includes('\"'))) {
return `\"${value.replace(/\"/g, '\"\"')}\"`;
}
return value;
});
csv += values.join(',') + '\\n';
}
return csv;
},
loadExample() {
this.sql = `CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
firstname VARCHAR(50),
lastname VARCHAR(50),
email VARCHAR(100),
age INT,
status VARCHAR(20),
created_at DATETIME
);`;
this.generate();
},
copyOutput() {
navigator.clipboard.writeText(this.getOutput());
}
}">
Error
Features
- ✓ Parse SQL CREATE TABLE statements
- ✓ Generate realistic mock data based on column names and types
- ✓ Support for common data types (INT, VARCHAR, DATE, etc.)
- ✓ Output as SQL INSERT, JSON, or CSV
- ✓ Smart field detection (email, phone, name, etc.)
- ⚠️ Client-side processing - your schemas never leave your browser