Before we start, you obviously need to have a way of testing the SQL you’re going to write. You have two options:
- Install a database system on your own computer via some software
- Buy hosting. The system you want could already be pre-installed, or you can put it on the server yourself.
If you’re learning SQL for (your) business, you probably already have a server and system, and it’s wise to stick with learning that particular system for now. If you’re here for any other reason, I suggest keeping an open mind and trying out multiple systems!
Meet the Systems
There are many systems out there, and it’s certainly not needed to learn all of them. The most popular and powerful systems are:
- SQLite: For learning how SQL works, this might be your best option. It’s not actually a system; it’s a small piece of software that allows you to have a local database on your computer. This means that it doesn’t play with the official SQL syntax, and that it’s very fast. The only downside is that you can’t really use it in websites, as it only allows one user at a time to write data into it.
- MySQL: The most commonly used system across the world wide web. It’s free, beginner-friendly, and can handle very large data sets. Very good at handling simple operations, not so good at handling complex operations.
- PostgreSQL: A relatively new system that is quickly gaining ground. It’s free, adheres to the official SQL syntax the most, and has a rich feature set. Very good at handling complex operations, not so good at handling simple operations.
- Oracle: Used by some large businesses, a mature and heavyweight system. But, that also means that it isn’t free, and there’s quite a learning curve.
- Microsoft SQL Server: Also used by some large business (and most companies that use Microsoft), a mature and big system. However, it also isn’t free, and it deviates a lot from the official SQL syntax.
- Microsoft Access: Essentially a spin-off of SQL server, but meant to be used locally, as a database replacement for Excel. Because of that, some features have been left out, but it still has the same quality as other Microsoft products. It also isn’t free.
Systems change, versions change, documentation changes. I don’t think I can do a better job explaining how to install a certain database system than the system itself, which is why I will only give a quick explanation and a link to a how-to-install page for every system.
If you don’t want to get into the database installing business now, find a hosting service that has the system pre-installed for you, so that you can immediately start trying out.
SQLite comes as a downloadable package, but it doesn’t have an interface. This means that queries are submitted to the system via a nifty command line tool.
A good, complete tutorial on SQLite specifically can be found here: Guru99 SQLite Tutorial
MySQL does have an interface, and can be set up on any system you like.
- To read about installing MySQL: MySQL Documentation
PostgreSQL has very nice documentation. (So, if you’re ever in doubt about something, go read their docs!)
- To read about installing PostgreSQL: PostgreSQL Documentation
To be honest, Oracle’s documentation is very complete, but that also makes it complex for beginners. Nevertheless, if you really want to make the best choice, read through the whole page.
- To read about installing Oracle: Oracle Documentation
It’s an official Microsoft product, so it has an installation wizard. And the documentation is fine.
- To read about installing SQL Server: SQL Server Documentation
Microsoft Access is just a piece of software (it comes bundled with the Office Suite), so installing it just means installing it.