Skip to main content
MySQL has a lot of surface area. These guides focus on the parts that come up most — from decisions you’ll make once before your first migration to techniques you’ll reach for every week. Each one is practical and works with VillageSQL. New to MySQL? Start with choosing data types, joins, and indexes — they cover the fundamentals that everything else builds on.

MySQL Fundamentals

The decisions and mechanics that everything else builds on: how MySQL compares to PostgreSQL, how InnoDB stores data, and the core skills of indexing, joining, and diagnosing slow queries.

Store Data

Column and schema decisions are hard to undo once data is in production. These guides cover column types, primary key strategies, constraints, and types enabled by VillageSQL’s extension framework — like native UUIDs and network address types.

Write Queries

These guides cover the SQL you’ll write most often, from JOINs and aggregations to window functions, CTEs, and full-text search. VillageSQL-specific guides include querying by IP subnet and enriching results with HTTP and AI functions.

Secure Data

VillageSQL’s crypto extension brings bcrypt, AES encryption, HMAC signing, and digest functions into SQL. These guides cover those cryptographic functions alongside MySQL’s built-in user and privilege management.

Optimize Performance

Slow queries are usually an indexing or schema problem. These guides cover how to diagnose them — using EXPLAIN output, the slow query log, and an understanding of how InnoDB stores data — and what to change.

Build with AI

VillageSQL’s AI extension lets you call language models and generate embeddings directly from SQL. These guides cover provider setup and how to use ai_prompt() and ai_embedding() in real queries.

Operate MySQL

These guides cover the operational side: schema migrations, Docker setup, transactions, replication, backups, and what to do when things go wrong in production.

Connect an Application

Every framework reaches MySQL a little differently. These guides each build a small working application against a live server, and cover the setup steps that are easy to get wrong the first time: driver choice, migrations, connection pooling, and where the pool has to live.

Writing MySQL Extensions

VillageSQL’s extension framework lets you add custom functions and types to MySQL without touching server code. These guides get you from zero to an installable extension.