Learn MySQL
Practical guides for developers building on VillageSQL
MySQL Indexes
How to speed up queries with the right index strategy
JSON in MySQL
Store, query, and manipulate JSON documents natively
Window Functions
Running totals, rankings, and moving averages
Primary Key Strategies
Auto-increment, UUIDs, and when to use each
Password Hashing
Bcrypt and Argon2 for secure credential storage
Postgres to MySQL
A practical migration guide for common patterns
MySQL on Docker
Run MySQL in containers for local and production
Stored Procedures
Encapsulate and reuse SQL logic in the database
Joins
How to combine rows from multiple tables with INNER, LEFT, and other JOINs
Transactions
Keep your data consistent with ACID-compliant transactions
CTEs in MySQL
Write readable, recursive queries with common table expressions
Slow Query Log
Find and fix the queries slowing down your database
From the blog
Village News: MySQL/Database News (8 April 2026)
As part of building the MySQL Community, we are going to publish a curated overview of MySQL and dat...
Tournament of Databases: The Winner!
And we have a winner! It was a busy weekend of match ups and we have our champion. Round 2 Results #...
MySQL 8.0 Is Reaching End of Life. Here Are Your Options.
MySQL 8.0 reaches end of life (EOL) in April 2026. Oracle will stop issuing security patches, bug fi...
Village News: MySQL/Database News (31 March 2026)
As part of building the MySQL Community, we are going to publish a curated overview of MySQL and dat...
Tournament of Databases: Round 2
Round 1 is a wrap! The Cinderella story continues for DuckDB while the heavyweights battle it out fo...
Announcing VillageSQL Server 0.0.3
The 0.0.3 release of VillageSQL Server is now available. This update adds broader support for standa...
Tournament of Databases: Road to Resilience
As it’s spring and time for tournaments, we wanted to explore what would happen if the most popular ...
Village News: MySQL/Database News - 17 March 2026
As part of building the MySQL Community, we are going to publish a curated overview of MySQL and dat...