Free course

SQL Course

Learn relational database fundamentals, create and change tables, write useful queries, connect related data, and use SQL safely in applications.

5 modules · 40 lessons · No signup

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Design a small relational database and write safe SQL queries that create, read, update, and connect its data.

Course contents

  1. Database fundamentals

    Databases, DBMSs, relational structure, schemas, and SQL.

    1. ✓ What is a Database? And a DBMS?
    2. ✓ Relational Databases
    3. ✓ The Relational Model
    4. ✓ Introduction to SQL
    5. ✓ Tables, rows, and columns
    6. ✓ When you need a database
    7. ✓ Check your understanding: database fundamentals
  2. Tables and data

    Types, constraints, and the commands that change stored data.

    1. ✓ SQL, creating a table
    2. ✓ Choose column data types
    3. ✓ SQL, adding data to a table
    4. ✓ SQL, how to update data
    5. ✓ SQL, how to delete data and tables
    6. ✓ SQL, Handling empty cells
    7. ✓ SQL, how to update a table structure
    8. ✓ Use constraints to protect data
    9. ✓ Check your understanding: tables and data
  3. Query data

    Select, filter, sort, group, aggregate, and limit results.

    1. ✓ SQL, how to use SELECT
    2. ✓ Filter rows with WHERE
    3. ✓ Sort and limit results
    4. ✓ Summarize with aggregate functions
    5. ✓ Group and filter summaries
    6. ✓ Return distinct values
    7. ✓ Check your understanding: SQL queries
  4. Relationships and joins

    Keys, one-to-many and many-to-many relations, joins, and views.

    1. ✓ SQL, Unique and Primary keys
    2. ✓ Connect rows with foreign keys
    3. ✓ Model one-to-many relationships
    4. ✓ Model many-to-many relationships
    5. ✓ SQL Joins
    6. ✓ INNER JOIN and LEFT JOIN
    7. ✓ SQL Views
    8. ✓ Check your understanding: joins and relationships
  5. Databases in practice

    Choose a database, protect queries, and keep changes reliable.

    1. ✓ How to install SQLite on macOS
    2. ✓ Choose SQLite, PostgreSQL, or MySQL
    3. ✓ Use indexes deliberately
    4. ✓ Keep related changes together with transactions
    5. ✓ SQL injection
    6. ✓ Use parameterized queries
    7. ✓ Store password hashes, not passwords
    8. ✓ Plan backups and schema migrations
    9. ✓ Check your understanding: databases in practice