Differences Between Popular SQL Implementations
This guide examines the key differences between popular SQL implementations such as: Oracle's SQL, Microsoft SQL server, MySQL, Postgres, and MariaDB.
Guide Tasks
  • Read Tutorial
  • Watch Guide Video
Video locked
This video is viewable to users with a Bottega Bootcamp license

In this guide, we're going to talk about some of the popular SQL implementations that you might be using. So there are five main ones that we're going to discuss. This is not a comprehensive list. There are all kinds of different interpretations and implementations of SQL. The five I'm going to talk about are some of the most popular and I think. They run a nice spectrum of what you may actually be using in real life applications.

Now the first is MySQL, MySQL is one of the most popular databases out there. Mainly because it's been around for a while and it's open-source, so it's free to use. You don't have to pay any licenses or anything like that and it's continually evolving because it's open source. MySQL keeps on getting updates and so it's reached a level where it's pretty stable.

Now some of the cons to using MySQL database especially in an enterprise environment is that many organizations just don't want to support having a SQL implementation or installation in their data center. Now that doesn't mean anything negative towards MySQL, it just means that if you are in an enterprise circle. you may or may not be able to use it.

The next one on the list is Postgres. Postgres is a little bit newer than MySQL and it is very popular in many different circles. For example, in the Ruby on Rails community, Postgres is one of the preferred databases because it interfaces very nicely with the Rails framework. It's also open source and with a few extensions, it can work extremely nicely with some of the more challenging kinds of features. A feature such as being able to run location-based queries. So being able to run a query from one location and get a distance to another location. That's something I personally have used it for. If you're using any type of latitude and longitude data types of PostgreSQL it is a really nice option because of some of the plugins that are available.

Now the third one that we're going to talk about is Oracle's SQL database. If you are in an enterprise environment and you do not have a problem paying a lot of money Oracle sequel is a fantastic solution. It is not cheap by any standards. It is definitely more on the pricey side. You have to pay licenses to access it, It's not open source. However, it's incredibly fast, very well-supported, and constantly gets updated. So that is something to keep in mind if you're working in an enterprise environment now, a very close cousin to that is MS SQL which is Microsoft's version of SQL. If you're working in an environment such as .Net then there's a very good chance you're going to be using Microsoft's version of SQL. It also is very well-supported but it's not free. You do have to pay for MS SQL licenses. If you're working on a small personal project or a project for a smaller client it may not be the best fit for you.

Lastly is MariaDB, MariaDB has grown very fast in popularity. It's used by quite a bit by sites like Facebook and some other applications that use open-source software. One of the founders and creators of MySQL actually moved on to start MariaDB for a number of different reasons. MariaDB may be a great option if you're wanting to have a slightly newer type of database system for an open-source project. One of the only issues with MariaDB is since it is one of the newer options It's not as well-supported in the developer community. Which means you may not be able to get quite as many answers from StackOverflow as you would for MySQL, Postgres, or any of the other providers.

Now I listed all those just because if you're brand new to SQL you may not have even known that there are all kinds of different SQL implementations. We're going to personally be going through the MySQL databases throughout this course, but the one thing that I wanted to impress upon you is SQL itself. SQL is a standardized language which means that if you write SQL code for MySQL, it's going to run in just about every case in all the other versions. So if you learn MySQL version of sequel you're going to be able to run it on MariaDB, Oracle, and Microsoft’s SQL. The only differences really come into play when you work with more advanced features and some kind of edge cases. At the end of the day, the main keys around performing joins and running queries are all going to be the same. So now that you have a good idea of SQL and all the different implementations and all the popular ones. Let's get started on installing SQL on your system.