Today is the 25th anniversary of PHP. By a co-incidence I was messing around with some PHP and MySQL code for a simple web app. I know this stack may not be cool or hip today, but I feel proud to say that it puts food on my table.
I was stumped by SQL JOINS which i needed to get data from two related tables in the database. It let me down a rabbit hole of learning SQL and I found several great tutorials on YouTube.
SQL (Structured Query Language) commonly pronounced as
sequel is a programming language used to write code for Relational Database Management Systems (RDBMS). Relational data refers to bunch of data stored in tables of a database which are often related to each other. RDBMS systems are software which helps us to play around with the data (Create, Read, Update and Delete) by using SQL language.
Some of the famous RDBMS systems are MySQL, PostgreSQL, SQlite, MariaDB which are used in open-source and personal projects and of course Oracle, Microsoft SQL which are used in enterprise projects.
MySQL is the most popular RDBMS system powering millions of websites and web applications all over the internet. MySQL is used in Content Management Systems like WordPress, Drupal, Joomla. Few of the popular websites to use MySQL are Facebook, Twitter, YouTube, Wikipedia etc. MySQL is open sourced software. It is currently owned by Oracle. PHP and MySQL were once a golden combination.
MariaDB is a fork of MySQL due to concerns of its acquisition by Oracle Corporation. It is highly compatible with MySQL and have same APIS and Commands and works well on LAMP servers. If you are developing software locally on a WAMP/XAMP server, there is a high chance you are using MariaDB and you may not even know the difference. Many open source projects are using MariaDB and it is also shipped by default to Linux Distros.
PostgresSQL or simply Postgres is a relatively new kid on the block. Its a great RDBMS which offers high performance, extensibility and scalability. It is also an open source software. Postgres is used by websites such as Reddit, Instagram, Disqus, OpenStreetMap, Yandex, Grofers etc. Postgres is nowadays considered a good choice for a database regardless of the backend programming language.
SQLite is a light weight database used mainly as an embedded database in mobile applications, web browsers and embedded systems.
Relational Databases are an industry standard and there are various enterprise solutions such as Oracle, MSSQL, IBM DB2, SAP R/3, Teradata etc.
Advantage of Learning SQL
There are thousands of jobs which require proficiency in SQL. Many of them use a RDBMS like MySQL. PostgreSQL as their database. SQL skills are transferable across various RDBMS whether they are open-source systems or enterprise solutions.
There is also a dedicated role in as a Database Engineer in the field of software development. A Database Engineer has a good fluency over SQL language and should possess platform knowledge of various RDBMS software. He/She is tasked with creation, configuration and maintenance of databases for a Software Company.
Common SQL Topics
- Introduction to Databases
- Basics of SQL
- Data Management – Creating, Reading, Updating and Deleting data in a Database Table.
- Queries – Example – SELECT, WHERE, INSERT
- Operators – AND, OR, NOT, IN, BETWEEN, LIKE, ORDER BY, LIMIT
- Joins – Inner Joins, Outer Joins, Self Joins, Cross Joins
List of SQL Tutorials
- SQL Tutorial using MySQL – Full Database Course for Beginners by freeCodeCamp to learn SQL using MySQL.
- Learn PostgreSQL Tutorial – Full Course for Beginners by freeCodeCamp to learn SQL using PostgreSQL.
- MySQL Crash Course | Learn SQL by Brad Traversy
- MySQL Tutorial by Derek Banas
- Database Design Course – Learn how to design and plan a database for beginners by freeCodeCamp
I am planning to update this list and add additional resources such as Udemy Courses and Blogs. I hope you enjoy learning SQL !