As we've mentioned throughout this course, there are many times we might find ourselves using SQL or a SQL-like query language on a database. We can think of some uses as "read-only operations" and other uses as "read/write operations".
An example of a "read-only operation" is a data analysis on a data dump from some app or research study. For example, if I was a data scientist working for a daily diary, I might query what percentage of users eat ice cream on the same day that they run, to understand if exercise makes people want to reward themselves:
SELECT * FROM diary_logs WHERE
       food LIKE "%ice cream%" AND activity LIKE "%running%";
If I'm doing a data analysis like that, then pretty much everything I'm doing is a SELECT - it's all read only. We're not creating any new data, we are just querying existing data. We need to get very good at SELECT queries, but we don't need to know how to create tables, update rows, and all of that.
An example of "read/write operations" is a software engineer creating the backend for a webapp. For example, if I was the software engineer working on the health tracker, I might write code that knows how to insert a new daily log in the database every time a user submits a form:
INSERT INTO diary_logs (id, food, activity)
            VALUES (123, "ice cream", "running");
I would probably be issuing that SQL command from inside a server-side language, likely using a library to make it easier to construct the commands. This is what that insertion would look like if I was using Python with the SQLAlchemy library:
diary_logs.insert().values(id=123, food="ice cream", activity='running')
I would also need to write SQL to modify the database if the user edited their daily log, deleted it, or even deleted their account. If the team decided to add more features to the user's daily log, like an emotion column to track how happy while they were eating ice cream and running (my hypothesis: very happy), I would need to write SQL to modify the table schema itself.
Those are all "write operations", and they are necessary if we're going to use a database to store and update data for an app. INSERT is relatively safe, because all it does is add data, but operations like UPDATE, DELETE, DROP, or ALTER can be much more dangerous, because they are updating existing data. That's why it's important to really understand those well, and use them carefully. Keep going to learn how to use them!