By Michael Nocito, data analyst · Published August 7, 2026
If you want to write SQL against your own data today, install a file-based engine: SQLite if you are learning, DuckDB if your data is already in CSV files. Both give you the whole SQL language. Neither has a server to start, a port to open, or a password to set.
Install a server such as PostgreSQL, MySQL or SQL Server when, and only when, more than one person or program needs to read and write the same data at the same time. That is the whole decision. The rest of this page shows you how to check which side of it you are on, so you can stop reading in two minutes and go write a query.
The short version. A file-based database is a file you open. A server database is a program you run. If nobody else is connecting to your data, you do not need the program.
The question that decides it






