Using SQLite to generate test data
I’m in the process of mentoring a junior developer at work. Every so often we’ll work through a typical interview question. They can be good exercises to expand your logical problem skills. As part of the questions I’ve using SQLite to generate the test data to use within each exercise. I’ve documented a couple here in-case you find them useful.
From the command terminal, start the sqlite client:
Then change the output mode to ascii so that the results are easier to drop into your language of choice:
The first SQL example shown below generates twenty random numbers from one to a hundred thousand. This sample data was used in an exercise where the developer has to write a function to find the lowest and highest values within an array.
WITH RECURSIVE testdata(x) AS ( SELECT 1 UNION ALL SELECT x+1 FROM testdata LIMIT 100000 ) SELECT x, ',' FROM testdata ORDER BY RANDOM() LIMIT 0, 20;
23716,67576,18197,1730,22247,20482,43830, 54837,34242,8293,16172,98392,47051,8040, 35063,78643,23620,68373,49534,15592
The second SQL example shown below generates all the numbers between one and one hundred. Yet it only outputs ninety nine numbers in a random order. This sample data was used in an exercise where the developer has to write a function to find the missing number in the array.
WITH RECURSIVE testdata(x) AS ( SELECT 1 UNION ALL SELECT x+1 FROM testdata LIMIT 100 ) SELECT x, ',' FROM testdata ORDER BY RANDOM() LIMIT 0, 99;