MySQL là gì?
Nếu SQL là ngôn ngữ để giao tiếp với cơ sở dữ liệu, thì MySQL là một trong những "nơi" bạn dùng ngôn ngữ đó. MySQL là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) phổ biến nhất thế giới trong phân khúc open-source.
MySQL được Oracle sở hữu sau khi mua lại Sun Microsystems năm 2010. Phiên bản Community Edition hoàn toàn miễn phí và đủ dùng cho học tập lẫn hầu hết dự án thực tế.
Bạn có thể gặp MySQL ở khắp nơi: WordPress (nền tảng blog phổ biến nhất thế giới), YouTube (giai đoạn đầu), Twitter, Airbnb — tất cả đều dùng MySQL hoặc đã từng dùng.
Trước khi đọc tiếp, hãy đảm bảo bạn đã biết SQL là gì và các câu lệnh SQL cơ bản.
Tại sao MySQL phổ biến?
- Miễn phí: Community Edition không mất chi phí
- Nhanh và ổn định: tối ưu cho web applications với nhiều lượt đọc
- Cộng đồng lớn: dễ tìm tài liệu, hỗ trợ, giải quyết lỗi
- Phổ biến trên hosting: hầu hết web hosting đều hỗ trợ MySQL sẵn
- Nhiều công cụ hỗ trợ: MySQL Workbench (GUI), phpMyAdmin, DBeaver
Cài đặt MySQL
Cài đặt trên Windows
Cách 1: XAMPP (dễ nhất cho người mới) — XAMPP là gói cài đặt bao gồm Apache, MySQL, PHP. Tải tại apachefriends.org, cài đặt, rồi mở XAMPP Control Panel và bấm Start bên cạnh MySQL.
Cách 2: MySQL Community Installer — Tải tại dev.mysql.com/downloads/installer, chọn "Developer Default", làm theo hướng dẫn. Nhớ đặt mật khẩu cho tài khoản root.
Cài đặt trên macOS
# Cài qua Homebrew (khuyến nghị)
brew install mysql
# Khởi động MySQL service
brew services start mysql
# Đặt mật khẩu root (lần đầu)
mysql_secure_installation
Kiểm tra cài đặt thành công
# Kiểm tra phiên bản
mysql --version
# Đăng nhập vào MySQL (nhập mật khẩu khi được hỏi)
mysql -u root -p
Nếu thấy dấu nhắc mysql> xuất hiện, bạn đã cài đặt thành công!
Tạo database và bảng đầu tiên
-- Tạo database mới
CREATE DATABASE shop_db;
-- Chọn database để làm việc
USE shop_db;
-- Tạo bảng products
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10,2) NOT NULL,
stock INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Giải thích:
-- AUTO_INCREMENT: tự tăng số tự động (1, 2, 3...)
-- PRIMARY KEY: khóa chính, giá trị duy nhất mỗi hàng
-- NOT NULL: bắt buộc phải có giá trị
-- DEFAULT: giá trị mặc định nếu không nhập
Các câu lệnh MySQL cơ bản
-- Thêm dữ liệu (INSERT)
INSERT INTO products (name, price, stock) VALUES ('Laptop Dell', 15000000, 10);
INSERT INTO products (name, price, stock) VALUES ('Chuột không dây', 150000, 50);
INSERT INTO products (name, price, stock) VALUES ('Bàn phím cơ', 800000, 30);
-- Xem toàn bộ dữ liệu (SELECT)
SELECT * FROM products;
-- Lọc dữ liệu (WHERE)
SELECT name, price FROM products WHERE price < 1000000;
-- Sắp xếp (ORDER BY)
SELECT * FROM products ORDER BY price DESC;
-- Lọc và sắp xếp kết hợp
SELECT name, price FROM products
WHERE stock > 20
ORDER BY price ASC;
-- Cập nhật dữ liệu (UPDATE)
UPDATE products SET price = 14500000 WHERE name = 'Laptop Dell';
-- Xóa dữ liệu (DELETE)
DELETE FROM products WHERE id = 3;
-- Xem cấu trúc bảng
DESCRIBE products;
-- Xem danh sách database
SHOW DATABASES;
-- Xem danh sách bảng trong database hiện tại
SHOW TABLES;
MySQL vs PostgreSQL ngắn gọn
Khi học SQL, bạn sẽ thấy hai hệ quản trị được nhắc đến nhiều nhất: MySQL và PostgreSQL. Đây là so sánh ngắn gọn:
| Tiêu chí | MySQL | PostgreSQL |
|---|---|---|
| Độ khó bắt đầu | Dễ hơn | Hơi khó hơn |
| Hiệu suất | Nhanh cho web apps | Tốt hơn cho query phức tạp |
| Tính năng | Đủ cho hầu hết dự án | Phong phú hơn (JSON, arrays...) |
| Phổ biến VN | Rất phổ biến | Đang tăng trưởng |
| Phù hợp | Web apps, CMS, startup | Data analytics, enterprise |
Lời khuyên: với người mới học, MySQL là lựa chọn tốt — dễ cài, dễ dùng, nhiều tài liệu tiếng Việt và tài liệu trực tuyến. Sau khi vững MySQL, học PostgreSQL sẽ rất nhanh.
Tổng kết
MySQL là nền tảng thiết yếu cho mọi developer làm việc với web applications. Những bước tiếp theo:
- Thực hành cài đặt MySQL và tạo database đầu tiên
- Thử viết các câu query SELECT phức tạp hơn
- Học JOIN trong SQL để kết hợp dữ liệu từ nhiều bảng
Xem thêm: SQL là gì? Hướng dẫn SQL cơ bản từ đầu