The goal of a programming language like Python is to be general-purpose. A general-purpose programming language is one that is designed to enable the programmer to write any program that they like. Python can be used to make a videogame, a program to analyze data in a spreadsheet, a web server, or just about anything else you can imagine.
The problem with a language being general is that its syntax, or rules, have to support all kinds of different tasks. It can’t be optimized to focus on one particular job. When there is a critical job that we have to write lots of code for, we might want to use a language that was designed specifically for that job. A programming language that is designed to solve one kind of problem is often referred to as a domain-specific language.
One such domain-specific language is SQL, which stands for Structured Query Language. It is a programming language that is used to get, store, and change information in a database. You can’t really use it to program a videogame, or to make a web server, but if your task involves working with a database, SQL makes it easier to write code to get a job done. The syntax of SQL, because it only focuses on working with databases, has been optimized for that particular job.
This chapter will introduce the basics of using SQL. You will not be going into depth learning how to program with SQL, just developing a basic understanding of how we use it to work with data in databases.