SQLite Zero To Hero
- What is SQLite?
- Use cases (embedded apps, local storage, prototyping)
- SQLite vs. SQL Server/MySQL/PostgreSQL
Resources:
- Install SQLite CLI (
sqlite3) - Use DB Browser for SQLite (GUI)
- Create a
.sqliteor.dbfile
Practice:
- Create a sample database using CLI or DB Browser
CREATE TABLE,ALTER TABLE,DROP TABLE- SQLite’s dynamic typing system
INSERT,UPDATE,DELETE,SELECTWHERE,ORDER BY,LIMIT,LIKE,IN
PRIMARY KEY,UNIQUE,NOT NULL,DEFAULT,CHECK,FOREIGN KEY
CREATE INDEXand performance considerationsCREATE VIEWfor abstraction
- Date/Time functions
- String and aggregate functions
Practice:
- Build a database for a Notes or To-Do List app
JOINs (INNER, LEFT, etc.)- Subqueries and CTEs (
WITH) - Window functions (optional)
- Use
System.Data.SQLiteorMicrosoft.Data.Sqlite - Perform CRUD operations
- Use parameterized queries
- Handle transactions
Practice:
- Build a Console or WPF app using SQLite
- Indexing strategies
VACUUM,ANALYZE- Use
EXPLAIN QUERY PLAN
- Understanding
.dbfile structure - In-memory databases (
:memory:) - SQLite encryption (see SQLCipher)
- Schema versioning (consider migrations)
- Error handling in C#
- Caching and optimization
- Triggers
- Custom SQLite functions in C#
- Using ORMs (Dapper, EF Core with SQLite)
- Offline-first desktop app
- Mobile app (MAUI/Xamarin) with SQLite
- Microservice prototype using SQLite
- Using SQLite by Jay A. Kreibich
- The Definitive Guide to SQLite by Mike Owens
- Udemy: “SQLite for Beginners”
- Pluralsight: “Working with SQLite in C#”