title: Tools for Generating Mock Data?
body: <p>I'm looking for recommendations of a good, free tool for generating sample data for the purpose of loading into test databases.  By analogy, something that produces "<a href="http://en.wikipedia.org/wiki/Lorem_ipsum" rel="noreferrer">lorem ipsum</a>" text for any RDBMS.  Features I'm looking for include:</p>
  
  <ul>
  <li>Flexibility to generate data for an existing table definition.</li>
  <li>Ability to generate small and large data sets (> 1 million rows or more).</li>
  <li>Generate in SQL script format (<code>INSERT</code> statements) or else in a flat file format suitable for bulk import (which is usually faster).</li>
  <li>A command-line interface for easy scripting.</li>
  <li>Extensible, open source, written in a dynamic language (these are nice-to-haves, not strong requirements).</li>
  </ul>
  
  <p>PS: I did search for a duplicate question on StackOverflow, but I didn't find one.  If there is one, I'll be grateful to get a pointer to it.</p>
  
  <hr>
  
  <p>Thanks for the great responses everyone!  I should amend my requirements that I use Mac OS X as my primary development environment, not Windows (though I did say command-line interface is desirable, and that <em>practically</em> rules out Windows).  The Windows-specific suggestions will no doubt be useful to other readers of this question, though, so thanks.</p>
  
  <hr>
  
  <p>Here is my conclusion:</p>
  
  <ul>
  <li>GenerateData: 
  
  <ul>
  <li>PHP web app interface, not command line</li>
  <li>limited to generating 200 records (or pay $20 for license to generating 5,000 records)</li>
  </ul></li>
  <li>RedGate SQL Data Generator
  
  <ul>
  <li>not free, price $295</li>
  <li>requires Windows, .NET, SQL Server</li>
  </ul></li>
  <li>Visual Studio 2008 Database Edition
  
  <ul>
  <li>requires Windows</li>
  <li>requires costly MSDN or ISV subscription</li>
  </ul></li>
  <li>Banner Datadect
  
  <ul>
  <li>not free, price $595</li>
  <li>requires Windows (?)</li>
  <li>no support for MySQL (?)</li>
  <li>GUI, not command line or scriptable</li>
  </ul></li>
  <li>Ruby Faker gem
  
  <ul>
  <li>way too slow to use ActiveRecord for bulk data load</li>
  </ul></li>
  <li>Super Smack
  
  <ul>
  <li>chiefly a load-testing tool, with a random data generator built in</li>
  <li>pretty simple to use nevertheless</li>
  <li>overall a good runner-up tool</li>
  </ul></li>
  <li>Databene Benerator
  
  <ul>
  <li>best solution for my needs</li>
  <li>XML scripts, compatible with DbUnit</li>
  <li>open source (GPL) Java code</li>
  <li>command-line usage</li>
  <li>access many databases directly via JDBC</li>
  </ul></li>
  </ul>