
Khi mới bắt đầu làm việc với cơ sở dữ liệu, MySQL thường là hệ thống đầu tiên bạn tiếp cận. Nó phổ biến, mã nguồn mở, và cực kỳ mạnh mẽ cho mọi quy mô dự án.
Thay vì đọc các tài liệu dài dòng, đây là hướng dẫn ngắn gọn với 20% lệnh bạn sẽ dùng trong 80% thời gian!
Analyze queries for sargability, missing composite indexes & offsets
Analyze SQL queries for performance anti-patterns, wildcards, and slow offsets. Generates optimized queries and DDL composite indexes for PostgreSQL, MySQL, and SQLite.
Nếu bạn chưa cài MySQL, cách nhanh nhất là dùng Docker:
docker run --name mysql-dev -e MYSQL_ROOT_PASSWORD=secret -d mysql
Để kết nối, sử dụng tài khoản của bạn:
mysql -u root -p
CREATE DATABASE zoo_db;
USE zoo_db;
Giả sử chúng ta cần quản lý một sở thú với habitat (Môi trường) và animal (Động vật).
CREATE TABLE habitat (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64)
);
CREATE TABLE animal (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64),
habitat_id INT,
FOREIGN KEY (habitat_id) REFERENCES habitat(id)
);
Khoá ngoại giúp bảo đảm tính toàn vẹn dữ liệu. Bạn không thể thêm một con vật vào một môi trường (habitat_id) không hề tồn tại!
Thêm dữ liệu với INSERT, chỉnh sửa với UPDATE, và xóa với DELETE:
INSERT INTO habitat (name) VALUES ('River'), ('Forest');
UPDATE animal SET name = 'Quack' WHERE id = 2;
DELETE FROM animal WHERE id = 1;
Nếu bạn chạy UPDATE hoặc DELETE mà không có WHERE, bạn sẽ sửa hoặc xóa TOÀN BỘ dữ liệu trong bảng. Hãy kiểm tra cẩn thận!
Để thống kê tuổi trung bình của từng loài (loại bỏ con vật có id=3):
SELECT species, AVG(age) AS average_age
FROM animal
WHERE id != 3
GROUP BY species
HAVING AVG(age) > 3
ORDER BY AVG(age) DESC;
Để lấy tên động vật kèm tên môi trường của chúng (Kết hợp 2 bảng):
SELECT animal.name AS animal_name, habitat.name AS habitat_name
FROM animal
INNER JOIN habitat ON animal.habitat_id = habitat.id;
Hãy mở terminal lên và thực hành nhé. Đó là cách duy nhất để thực sự hiểu cách MySQL vận hành!
Mục đích của ràng buộc FOREIGN KEY là gì?
Làm sạch log AI CLI, tạo biểu thức cron, giải mã JWT và tính quyền chmod offline.

Nắm vững các kiến trúc sharding cơ sở dữ liệu hiện đại: phân vùng ngang, khóa băm theo dải so với khóa băm nhất quán, kết nối liên shard, giao dịch phân tán (2PC so với Saga), Vitess và Citus.
Đọc tiếp
Hướng dẫn toàn diện về tối ưu hóa truy vấn PostgreSQL 17: kế hoạch thực thi, điều chỉnh bộ nhớ & explain analyze với kiến trúc cấp độ sản xuất và ví dụ mã.
Đọc tiếp
Hướng dẫn kiến trúc chuyên sâu so sánh ClickHouse và Snowflake vào năm 2026: phân tích thời gian thực, độ trễ truy vấn và giảm 80% chi phí với các ví dụ thực tế đã được kiểm chứng.
Đọc tiếp