Hi,
I think that I understand the difference between SQL and MySQL:
SQL is the language that is used to communicate with a relational database while MySQL is a type of relational database.
But, how do I create a relational database in the first place?
Does SQL have some "create" functions that you can use to create a new database?
Thanks.
This is correct. SQL is a language. Many different database systems use it. MySQL simply happens to have it in its name, that is all. To get started, you want to pick a type of database (such as MySQL) and download it and install it. You'll then have the software running and you can start creating your own databases. I'll be honest, it's slightly easier to get up and running on Linux than on Windows, but either is fine. Just don't get frustrated if you spend an hour trying to work out why it wont connect or refuses your password or something - that's not uncommon. Just follow the instructions and the odd web search and you'll be fine.
Postgres vs. MySQL has a long history. I will say up front that I consider Postgres to be the superior database system. But that does not mean you should or should not start with it.
It used to be that Postgres had far more enterprise (pro) features than MySQL and was far more rigorously tested for bugs. However, it did not run as quickly as MySQL and therefore MySQL achieved a lot of popularity as the "cheap and cheerful" way to do simple and fast web applications. It was also a great deal easier to learn because it was more forgiving of ignorance. This led to a certain degree of database snobbery from Postgres users toward MySQL. I know, because I had that snobbery too. And it was deserved - MySQL was kludgy and couldn't keep pace with its own development.
Skip forward some years and both systems have addressed their short-comings. MySQL has added a lot of more professional features and Postgres has long since sorted out its performance problems and is now just as fast.
Postgres remains the better system in terms of features and stability. However, it is undoubtedly harder to learn. This is not necessarily a bad thing. If you start with Postgres you will learn the "right" way to do things. If you start with MySQL you will pick up a lot of shortcuts and never even realize they are shortcuts (auto-increment fields are an obvious example). Consider it the difference between learning to drive a car that is automatic, and learning in a car that has a gear stick. Both can be good, the latter gives you more control and a better understanding of what the car is actually doing. The former will get you out on the road sooner.
Either way, you should be able to find some introductory tutorials online with a bit of searching that will take you through creating a database, tables in it and adding some data / selecting results.
Before you do that, look up "Normalization". It is vital to understanding how to put a database together. You'll see a bunch of terms such as "1st normal form" that might put you off at first. Just skip over anything that you struggle with or seems unfriendly - it's actually pretty simple once it clicks. But it's important because without understanding normalization you will design bad databases and searching it wont seem intuitive until you do.
I hope that helps.
H.