5 MB SQL sample file

An SQL file of exactly 5,242,880 bytes. It is a valid SQL script file, generated for this site and checked with an independent parser.

Download

sample-sql-5mb.sql

5 MB5,242,880 bytes

Download 5 MB SQL

Direct download. No sign-up and no waiting.

Type
application/sql
SHA-256
0e114d1c09e25a282c9e4331ce5995b55b8f144f91e8a2c11e4353e4a8248325
Direct URL
https://sampletestfiles.com/downloads/sql/sample-sql-5mb.sql

What is in this file

One CREATE TABLE statement and 23,108 single-row INSERT statements with fictional customer data. SQL comment lines at the end bring the script to the exact size.

Statements1 CREATE TABLE, 23,108 INSERT
DialectPortable SQL (runs on PostgreSQL, MySQL, MariaDB and SQLite)
EncodingUTF-8 (ASCII characters only)

How the file begins

The opening lines of sample-sql-5mb.sql, exactly as they appear in the file.

-- SampleTestFiles sample SQL file (5 MB)
-- Portable SQL: one CREATE TABLE statement followed by single-row INSERT statements.
CREATE TABLE customers (
  id INTEGER PRIMARY KEY,
  first_name VARCHAR(50) NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  email VARCHAR(120) NOT NULL,
  city VARCHAR(60),
  country CHAR(2),
  signup_date DATE,
  plan VARCHAR(20),
  balance DECIMAL(10,2),
  active SMALLINT
);

Preview

Shows the first 64 KB of the file.

Where 5 MB matters

A 5,242,880-byte file: the size of a phone photo and the minimum part size for S3 multipart uploads. These are the default limits a file of this size is useful for testing:

SystemLimitNote
PHP2 MB per uploaded file by default (upload_max_filesize)A 5 MB upload fails on an untuned PHP installation.
Vercel Functions4.5 MB request bodyLarger uploads must go directly to object storage.
Amazon S3 multipart upload5 MiB minimum part sizeThis file is exactly one minimum part.
AWS Lambda6 MB synchronous invocation payload5 MB of binary data exceeds it once base64-encoded.
Browser localStorageAbout 5 MB per originStoring this file as text fills the quota.
Django2.5 MB in memory by defaultLarger uploads are streamed to a temporary file instead of held in memory.

All 5 MB sample files

Use this file for

  • Simulating photo uploads from phones
  • Checking migration runners with large scripts
  • Seeding development and test databases

Testing notes for SQL

  • Executing an uploaded SQL file is running code. Only do it in an isolated database with a restricted account.
  • Clients that load the whole script into memory struggle with large dumps; streaming execution matters at 10 MB and above.

SQL format reference

Technical details

File namesample-sql-5mb.sql
FormatSQL (SQL script)
Extension.sql
MIME typeapplication/sql
Size5,242,880 bytes (5 MB)
KindText
SHA-2560e114d1c09e25a282c9e4331ce5995b55b8f144f91e8a2c11e4353e4a8248325
Created2026-10-10
ValidationExact size, signature bytes and structure checked when the file was generated
PreviewAvailable on this page
SourceGenerated for this site; not copied from elsewhere
LicenceFree to use, modify and redistribute (terms)
CategoryDatabase

Validated for expected format and integrity. As with any download, scan the file with your own security tools before opening it. How files are made and checked

Download from the command line and verify

Fetch the file with curl, then compare its checksum with the SHA-256 value above.

curl -o sample-sql-5mb.sql 'https://sampletestfiles.com/downloads/sql/sample-sql-5mb.sql'
sha256sum sample-sql-5mb.sql     # Linux
shasum -a 256 sample-sql-5mb.sql # macOS

On Windows, run Get-FileHash sample-sql-5mb.sql -Algorithm SHA256 in PowerShell. A matching value proves that the download is complete and unaltered.

Related files

Questions about this file

Is this file exactly 5 MB?
Yes. It is 5,242,880 bytes, which is 5 MB in the binary units that operating systems and server limits use (1 KB = 1,024 bytes).
What is inside the 5 MB SQL file?
One CREATE TABLE statement and 23,108 single-row INSERT statements with fictional customer data. SQL comment lines at the end bring the script to the exact size.
Which databases can run the sample scripts?
They use portable syntax and have been run on SQLite. PostgreSQL, MySQL and MariaDB accept the same statements.