Sample SQLite Database
A real SQLite database with two related tables (users and orders joined by a foreign key) for testing database importers and SQL tooling.
| idint | nametext | emailtext |
|---|---|---|
| 1 | User 1 | user1@example.com |
| 2 | User 2 | user2@example.com |
| 3 | User 3 | user3@example.com |
| 4 | User 4 | user4@example.com |
| 5 | User 5 | user5@example.com |
| 6 | User 6 | user6@example.com |
| 7 | User 7 | user7@example.com |
| 8 | User 8 | user8@example.com |
Specifications
- Tables
- users, orders
- Relationship
- orders.user_id → users.id
- Users
- 10
- Orders
- 25
Testing contract
Expected to pass- Scenario
- Exercise Sample SQLite Database in its database workflow. A real SQLite database with two related tables (users and orders joined by a foreign key) for testing database importers and SQL tooling.
- Expected result
- 2 tables; orders: 25 rows; users: 10 rows. Declared feature checks: tables=users, orders; relationship=orders.user_id → users.id; users=10; orders=25.
What is a .sqlite file?
SQLite is a self-contained, serverless relational database stored as a single binary file holding tables, indexes, and schema in a defined page format. It is the most widely deployed database engine, embedded in browsers, phones, and applications. The file is a complete, transactional SQL database requiring no server.
How to use this file
Use an example SQLite file to test database drivers, schema and table introspection, SQL query execution, and tools that read or migrate embedded databases.
How to use this file for testing
“Sample SQLite Database” is a deterministic Testaroo fixture for Data import. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.
Documented properties for this file: SQLITE · 12,288 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
Data fixtures document their exact quirks (delimiters, encodings, null handling, schema, and row counts) in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.
Code examples
import sqlite3
con = sqlite3.connect("sample.sqlite")
for row in con.execute("SELECT name FROM sqlite_master WHERE type='table'"):
print(row)Generated by generation/data_structured.py. Free for any use, no attribution required, license.
Related files
- csv10,000-Row CSVA CSV with 10,000 data rows, for testing streaming parsers, memory handling, and import performance.

- csvAlder Books Reconciliation: Aged creditors summaryAged creditors summary for Alder Books Reconciliation. The 3 suppliers behind the 16 operating payments, grouped by expense category. The amounts due are 774.00, 617.00, 673.00 and they sum to 2064.00, which is the total of the three actual columns on the budget report.

- csvAlder Books Reconciliation: Aged debtors reportAged debtors report for Alder Books Reconciliation. 8 open receivables aged at 2026-09-08, each with 100.00 outstanding against an invoice of between 750.00 and 1275.00. The ageing buckets hold 0.00 current, 500.00 at 31 to 60 days and 300.00 at 61 to 90 days, summing to 800.00, the receivables line of the trial balance.

- csvAlder Books Reconciliation: Balanced manual journal batchBalanced manual journal batch for Alder Books Reconciliation. 3 month-end journals of 2 lines each, 6 lines in total: an accrual, a reclassification and a prepayment release. Each batch_id balances on its own and the batch as a whole posts 339.75 of debits and the same of credits.

- csvAlder Books Reconciliation: Bank reconciliationBank reconciliation for Alder Books Reconciliation. All 24 statement transactions matched one for one to a cash-account ledger line, with a difference column that is 0.00 on every row. There are no unpresented items and no deposits in transit, so the book balance 10236.00 equals the statement balance 10236.00 and the reconciling difference is 0.00.

- jsonAlder Books Reconciliation: Bank reconciliation JSONBank reconciliation JSON for Alder Books Reconciliation. The same 24 matches as bank-reconciliation.csv with the reconciliation summary at the top: statement closing 10236.00, book closing 10236.00, nothing outstanding or unpresented and a reconciling difference of 0.00.
