Giới Thiệu & Cài Đặt
Database, DBMS & SQL: Khái niệm cơ bản về cơ sở dữ liệu và SQL.
Cài MySQL trên Windows: Thiết lập MySQL trên hệ điều hành Windows.
Cài MySQL trên MacOS: Thiết lập MySQL trên hệ điều hành MacOS.
Tạo Database & Bảng
Tạo Database: Tạo một cơ sở dữ liệu mới.
Quy tắc đặt tên: Cách đặt tên database hợp lệ.
Thực thi câu lệnh SQL: Các cách chạy lệnh SQL.
Ghi chú: Thêm chú thích trong SQL.
Xóa Database: Xóa cơ sở dữ liệu khi cần.
Bảng là gì: Khái niệm về bảng trong database.
Tạo bảng: Tạo bảng với các cột cơ bản.
Kiểu dữ liệu: Giới thiệu kiểu dữ liệu trong MySQL.
Xóa bảng: Xóa bảng khỏi database.
Các Lệnh CRUD
Lệnh SELECT: Lấy dữ liệu từ bảng.
WHERE: Lọc dữ liệu theo điều kiện.
ALIAS: Đặt tên tạm cho cột hoặc bảng.
Lệnh UPDATE: Cập nhật dữ liệu trong bảng.
Lệnh DELETE: Xóa dữ liệu khỏi bảng.
Toán Tử & Mệnh Đề
!= và <>: So sánh khác nhau.
LIKE & NOT LIKE: Tìm kiếm theo mẫu.
> và >=: So sánh lớn hơn.
< và <=: So sánh nhỏ hơn.
AND: Kết hợp nhiều điều kiện.
OR: Chọn một trong các điều kiện.
Thứ tự ưu tiên: Quy tắc xử lý toán tử logic.
BETWEEN: Lọc trong khoảng giá trị.
IN: Kiểm tra giá trị trong danh sách.
CASE: Xử lý điều kiện trong truy vấn.
IS NULL & IS NOT NULL: Kiểm tra giá trị NULL.
String Functions
CONCAT: Nối các chuỗi lại với nhau.
SUBSTRING: Cắt một phần chuỗi.
REPLACE: Thay thế chuỗi con.
REVERSE: Đảo ngược chuỗi.
UPPER & LOWER: Chuyển đổi chữ hoa/thường.
Lọc & Sắp Xếp Dữ Liệu
DISTINCT: Loại bỏ dữ liệu trùng lặp.
LIMIT: Giới hạn số dòng trả về.
ORDER BY: Sắp xếp dữ liệu theo cột.
ORDER BY nhiều cột: Sắp xếp theo nhiều tiêu chí.
Hàm Tổng Hợp
COUNT: Đếm số dòng hoặc giá trị.
COUNT với DISTINCT: Đếm giá trị duy nhất.
GROUP BY: Nhóm dữ liệu theo cột.
GROUP BY nhiều cột: Nhóm theo nhiều tiêu chí.
MIN, MAX: Tìm giá trị nhỏ nhất/lớn nhất.
SUM: Tính tổng các giá trị.
HAVING: Lọc nhóm dữ liệu sau GROUP BY.
Ràng Buộc & Thay Đổi Bảng
UNIQUE: Đảm bảo giá trị duy nhất trong cột.
CHECK: Thêm điều kiện kiểm tra giá trị.
Thêm cột: Dùng ALTER TABLE để thêm cột.
Xóa cột: Xóa cột bằng ALTER TABLE.
Đổi tên cột: Sửa tên cột với ALTER TABLE.
Thay đổi kiểu dữ liệu: Điều chỉnh kiểu dữ liệu cột.
Mối Quan Hệ One-to-One (1-1)
Khái niệm & ứng dụng: Hiểu quan hệ 1-1 và khi nào dùng.
Tạo quan hệ 1-1: Dùng khóa ngoại và UNIQUE.
Ví dụ ứng dụng: Chia bảng để bảo mật hoặc chi tiết hóa.
Mối Quan Hệ One-to-Many (1-N)
Khái niệm & ứng dụng: Hiểu quan hệ 1-N phổ biến.
Foreign Keys: Tạo liên kết bằng khóa ngoại.
Inner Join: Kết hợp bản ghi khớp ở cả hai bảng.
Left Join: Lấy toàn bộ bảng trái và bản ghi khớp bên phải.
Right Join: Lấy toàn bộ bảng phải và bản ghi khớp bên trái.
Mối Quan Hệ Many-to-Many
Khái niệm & ứng dụng: Hiểu quan hệ phức tạp và bảng trung gian.
Tạo quan hệ: Dùng Junction Table để liên kết.
Database Normalization
1NF: Đạt dạng chuẩn thứ nhất.
2NF: Đạt dạng chuẩn thứ hai.
3NF: Đạt dạng chuẩn thứ ba.
Views & Triggers
Tìm hiểu Views: Nắm khái niệm bảng ảo, hỗ trợ truy vấn đơn giản và bảo mật.
Làm việc với Views: Tạo bằng CREATE VIEW, sửa với ALTER VIEW, xóa qua DROP VIEW, hiểu giới hạn cập nhật.
Tìm hiểu Triggers: Hiểu Trigger tự động chạy với INSERT, UPDATE, DELETE.
Quản lý Triggers: Tạo bằng CREATE TRIGGER, xử lý DELIMITER, xem qua SHOW TRIGGERS, xóa với DROP TRIGGER.
Ứng dụng thực tế: Dùng View báo cáo tồn kho, Trigger ghi log giá và ngăn xóa sản phẩm còn hàng.
Window Functions
Tìm hiểu Window Functions: Hiểu khái niệm, lợi ích và sự khác biệt so với GROUP BY trong phân tích dữ liệu.
Làm việc với OVER(): Sử dụng OVER() và PARTITION BY để xác định cửa sổ, tính toán trên từng phân vùng.
Xếp hạng dữ liệu: Áp dụng ROW_NUMBER, RANK, DENSE_RANK để xếp hạng trong phân vùng.
Truy xuất hàng lân cận: Dùng LAG, LEAD, FIRST_VALUE, LAST_VALUE để lấy giá trị trước/sau, đầu/cuối.
Phân nhóm với NTILE: Chia dữ liệu thành các nhóm bằng nhau để phân tích phân vị.
Ứng dụng thực tế: Tính lương trung bình phòng ban, xếp hạng nhân viên, phân tích xu hướng lương.