Back to articles list Articles Cookbook
10 minutes read

Why Learn SQL for iOS and Android Development?

App and program development with iOS and Android is a huge and rapidly growing field in the software world. While some developers get through their careers knowing only their chosen development language, there are plenty of reasons to add SQL to that skill set. Here at LearnSQL.com, we are often asked: “why Learn SQL for iOS and Android development?” To answer that question, we’ve put together a little explanation about exactly why learning SQL makes sense for those in the app development space.

Why Learn SQL as an App Developer?

There’s another question we get often here at LearnSQL.com: “can I develop apps with SQL?”

The simple answer is “no.” But wait! There’s more to my answer than that. So, don’t give up on your SQL journey just yet!

Asking: “can I develop apps with SQL?” is like asking: “can I drive a car with a garage?”.

Cars and garages go together, yes. And yes, it’s generally a good idea to have a garage. But your garage is not directly related to the functioning of your car. Your garage does not make the car go.

You can park your app alongside SQL, and it’s a really good idea to know SQL if you’re going to be an app developer, but SQL isn’t going to make your app tick. It’s a complementary tool, and if you’re interested in app development, it’s something to learn in conjunction with another development language.

If you have just cracked Java, Kotlin, or Swift and are breaking out in a cold sweat just thinking about taking on learning another language, fear not! SQL, or Structured Query Language, is not a full programming language in the Java/Python/C# sense of the word. If anything, SQL is more like HTML, or even just a beefed-up version of an Excel spreadsheet—it’s a very simple data management language that helps users work with databases.

The primary use of SQL is to insert data into specific tables and to extract that data when required using a range of different filters. Why, then, would an Android or iOS developer need to learn SQL?

Well, apps and programs make use of databases very frequently to store lists of clients or client-related information. The information stored in those databases is used in a wide variety of ways, from basic app functions to marketing and analytics. SQL allows for the efficient management of large datasets, providing the tools necessary for creating dynamic, data-driven apps. For example, incorporating features like data recovery for iOS can help ensure critical user data, such as photos, is well-protected and easily retrievable, enhancing the app's overall reliability.

Many apps are just databases hidden behind a pretty-looking UI. In these cases, knowing SQL is hugely important—it’s the primary conduit between your Java interface and the database that feeds information to your app.

If you’re ready to jump in and get learning, I highly recommend this SQL course—it has all the basics you need to know to get a head start in the SQL world!

Still need some convincing that SQL is worth your time? Keep reading and let me tell you why it’s the best decision you’ll make today.

Apps That Use SQL

Making a list of all the different apps and programs that utilize SQL is like making a list of all the people in the world who wear clothes. There are a lot, and most of them don’t go around broadcasting that fact to the rest of us.

Whether they are a major or minor part of any given app, databases are at the heart of almost every mobile application. Apps that rely on SQLite, for example, include Skype, Dropbox, iMessage, as well as:

  • All Android devices
  • All iPhones and iOS devices
  • Every single Mac
  • Every Windows 10 computer
  • Firefox, Chrome, and Safari web browsers
  • TurboTax and QuickBooks
  • PHP
  • Python
  • Most TVs
  • Most cable boxes
  • Basically, every automotive multimedia system

So … a lot. A whole heap of apps and programs that have needed a whole heap of SQL users in the course of their development.

This might sound harsh, but one of the most compelling reasons to take an SQL course and learn SQL is that if you don’t learn it, somebody else will, and they will get the jobs you want.

Don’t know which type of SQL to start with? LearnSQL.com offers tracks for Standard SQL, MS SQL Server, and PostgreSQL. Any of these will stand you in good stead for a career in app and program development, but SQLite is one of the most popular forms of SQL among iOS and Android app developers, and it generally follows Postgre syntax.

SQLite is an open source SQL database which saves data in text format on a given device. SQLite and Android are particularly compatible, because SQLite database implementation is built into the Android operating system.

While MySQL is more commonly found on servers where it can be used by web applications, SQLite is more commonly used for mobile applications and for permanently storing data.

Uber, the ride-hailing company with more than 110 million global users, is big on data and relies on SQL to manage its mega databases and their interactions with its user interface. You know SQL is worth learning when one of the most successful apps in the world is using it.

Uber is heavily reliant on data-driven decisions and uses its massive stores of data to do everything, from attracting customers, directing drivers, and forecasting customer demands, to addressing problems in its driver sign-up process.

Thousands of Uber employees use data every single day in their work for the app. Those employees range from marketers and promo people, to operations teams, to executives involved in the planning and decision-making processes.

Uber is one of the fastest growing companies ever. It didn’t get to this point without a seriously slick handle on the massive amounts of data it churns through every day. We’re not talking a few tables with some driver sign-up details. We’re talking over 100 petabytes of analytical data that requires cleaning, storing, recalling, and managing.

Choosing a database management system is no walk in the park, and back in 2016, Uber famously switched from using PostgreSQL to MySQL. If you’re interested in the nitty gritty of that switch, you can read a blog post by some of Uber’s engineers here.

What’s important to understand about the relationship between apps and SQL is that not all apps and programs utilize SQL in the same way. Uber, for example, uses MySQL not as a Relational Database Management System, but instead as a backend for their own in-house NoSQL database which goes by the name of Schemaless.

Regardless of how SQL is used by an app, the fact remains that it’s almost always there, lurking away in the background like an elephant in the room. My suggestion? Acknowledge the elephant! SQL in app development is not going anywhere fast!

 The elephant had entered the room

Image: David Blackwell

Is Learning SQL Difficult? An Overview of the SQL Basics

One of the main reasons I encourage aspiring app developers to learn SQL is because it really is so. freaking. easy to pick up.

SQL isn’t just used by software developers but by a range of people in a whole array of different industries. That includes database developers and administrators, marketers, and communications professionals. In fact, anyone who sees the value in data would be well placed to learn the basics of SQL. There’s always, always going to be an outlet for you to make use of that knowledge—trust me, it will never go to waste!

To give you an idea of how simple SQL really is, let’s look at a few of its fundamental concepts.

The first and most important is the SQL query. A query uses a simple syntax to ask the database for the information you need.

Depending on the type of information stored in your database, your query could look as straightforward as this:

SELECT
column1, column2
FROM
tableName
WHERE
filterColumn=filterValue

This query simply asks for the results (column1, column2) from the defined table (tableName), where the results match the specified filters (filterColumn=filterValue).

Another key element of SQL syntax is the use of JOIN. A join brings multiple tables together so the data from different tables can be analyzed collectively. The JOIN syntax looks like this:

SELECT
tableOne.column1,
tableTwo.column2
FROM
tableOne 
JOIN tableTwo ON tableTwo.column1 = tableOne.column1

Another important piece of syntax in SQL is INSERT. This can be used to add rows to a table and to add rows from one table into another. A basic SQL INSERT statement is written like this:

INSERT INTO tableName
(column1, column2, ...)
VALUES (value1, value2, ...)

Here, the first line identifies the table we want to insert rows into. Then we stipulate which columns we want to fill, and finally the values we are going to insert.

The UPDATE statement is similarly intuitive to write. It’s used to alter a column value, and generally follows this format:

UPDATE tableName
SET column1=value1, column2=value2,...
WHERE filterColumn=filterValue

Like with INSERT, we first state the table we are going to update. We then use the SET clause to specify which columns we want to update, and finally we use the WHERE clause to dictate the rows we are including in the update.

The last of the SQL basics that pays to be familiar with is DELETE. Just like it says, DELETE removes the specified rows from a table. Often once it’s gone, it’s gone—so make sure you know what you’re doing with this one!

The format of a DELETE statement generally looks like this:

DELETE tableName
WHERE  filterColumn=filterValue;

So simple! It’s just one line specifying the table, and another dictating WHERE (the specific rows you need to remove).

None of this made sense? Or ready to learn more? Take a look at all the different courses LearnSQL has to offer. They do a better job of explaining the basics than I have here!

People often ask us: how long does it take to learn SQL? That’s a particularly common question from those who’ve just done the hard slog and mastered another programming language like C# or Python.

Although the idea of jumping straight into a second language learning adventure may seem daunting, the reality is that SQL is much, much simpler than languages like C#, Python, Java, or Swift.

If you want to get a better idea of how long it might take you to learn SQL, hop over to my post How Long Does It Take to Learn SQL, where I cover a bunch of top tips for quick and easy SQL efficiency.

Also, my colleague Aldo has created a really useful glossary of SQL-related terms, which can help a lot while you’re getting your head around the SQL Basics. Check it out!

The Best Place to Learn SQL

Do you need to learn SQL as an Android or iOS developer? Probably.

Why? Because while you may find a job where SQL simply doesn’t factor in at all, chances are that at some point in your career you will need to use SQL, or at least be familiar with it.

Almost every single app, no matter how big or small, is going to need to store data in some form.

That means almost every single app needs to talk to a database. That database will need to be queried somehow. Well, SQL is a way to make those queries happen.

LearnSQL.com is by far the best place to learn SQL, and I’m not saying that just because you’re here! Start with this SQL course—it’s all about the fundamentals, so you’ll learn a lot without being overwhelmed by the more advanced concepts.

If you’re interested in what it’s like to work as an SQL developer, my colleague Emil has written a fantastic post about his own experience in this role and what you should know about this rewarding line of work.

By learning SQL, you are going to make yourself more useful as an app developer, more employable, and just generally more interesting 😉 Go to it and do it!

Work From Home Dancing GIF - Find & Share on GIPHY