Skip to main content
Tóm tắt

Bài 7 là bài review tuần 1: bạn sẽ thiết kế một database đơn giản (VD hệ thống cửa hàng) và luyện lại đầy đủ các thao tác đã học: SELECT, WHERE, ORDER BY, LIMIT, INSERT, UPDATE, DELETE.

🔥 7: Review 1

Mục tiêu bài học: Kiểm tra kiến thức - Bài tập tổng hợp cho tuần 1 học SQL.

Hôm nay, bạn sẽ tổng hợp lại những gì đã học bằng cách xây dựng một database đơn giản và thực hành các truy vấn với SELECT, INSERT, UPDATE, DELETE, WHERE, ORDER BY, LIMIT.


1️⃣ Thiết kế Database

Bạn sẽ tạo hệ thống quản lý cửa hàng với 2 bảng đơn giản:

  1. Bảng Products (Sản phẩm): Lưu thông tin sản phẩm.
  2. Bảng Customers (Khách hàng): Lưu thông tin khách hàng.

📌 Cấu trúc bảng

🟢 Bảng Products

CộtKiểu dữ liệuMô tả
IDINT PRIMARY KEY AUTO_INCREMENTMã sản phẩm (tự tăng)
ProductNameVARCHAR(100) NOT NULLTên sản phẩm
PriceFLOAT NOT NULLGiá sản phẩm
StockINT NOT NULLSố lượng trong kho

🟢 Bảng Customers

CộtKiểu dữ liệuMô tả
IDINT PRIMARY KEY AUTO_INCREMENTMã khách hàng (tự tăng)
CustomerNameVARCHAR(100) NOT NULLTên khách hàng
EmailVARCHAR(100) UNIQUE NOT NULLEmail
PhoneVARCHAR(15) NOT NULLSố điện thoại

2️⃣ Tạo database & bảng

CREATE DATABASE ShopDB;
USE ShopDB;

CREATE TABLE Products (
ID INT AUTO_INCREMENT PRIMARY KEY,
ProductName VARCHAR(100) NOT NULL,
Price FLOAT NOT NULL,
Stock INT NOT NULL
);

CREATE TABLE Customers (
ID INT AUTO_INCREMENT PRIMARY KEY,
CustomerName VARCHAR(100) NOT NULL,
Email VARCHAR(100) UNIQUE NOT NULL,
Phone VARCHAR(15) NOT NULL
);

3️⃣ Chèn dữ liệu (INSERT INTO)

INSERT INTO Products (ProductName, Price, Stock) VALUES
('Laptop Dell', 1500, 10),
('iPhone 15', 1200, 5),
('Samsung Galaxy S23', 1000, 8),
('Tai nghe Sony', 200, 15),
('Bàn phím cơ', 100, 20);

INSERT INTO Customers (CustomerName, Email, Phone) VALUES
('Nguyễn Văn A', 'nguyenvana@example.com', '0912345678'),
('Trần Thị B', 'tranthib@example.com', '0987654321'),
('Lê Văn C', 'levanc@example.com', '0933445566');

4️⃣ Truy vấn dữ liệu (SELECT, WHERE, ORDER BY, LIMIT)

📌 Lấy danh sách tất cả sản phẩm

SELECT * 
FROM Products;

📌 Lọc sản phẩm có giá trên 1000

SELECT * 
FROM Products
WHERE Price > 1000;

📌 Lấy sản phẩm có giá từ 500 đến 1500

SELECT * 
FROM Products
WHERE Price BETWEEN 500 AND 1500;

📌 Lấy sản phẩm có chữ "iPhone" trong tên

SELECT * 
FROM Products
WHERE ProductName LIKE '%iPhone%';

📌 Sắp xếp sản phẩm theo giá từ cao xuống thấp

SELECT * 
FROM Products
ORDER BY Price DESC;

📌 Lấy 3 sản phẩm có giá cao nhất

SELECT * 
FROM Products
ORDER BY Price DESC
LIMIT 3;

📌 Lấy danh sách khách hàng có số điện thoại bắt đầu bằng "09"

SELECT * 
FROM Customers
WHERE Phone LIKE '09%';

5️⃣ Cập nhật dữ liệu (UPDATE)

📌 Cập nhật giá của iPhone 15 lên 1300

UPDATE Products 
SET Price = 1300
WHERE ProductName = 'iPhone 15';

📌 Tăng số lượng tồn kho của "Tai nghe Sony" lên 20

UPDATE Products 
SET Stock = 20
WHERE ProductName = 'Tai nghe Sony';

📌 Đổi email của "Nguyễn Văn A"

UPDATE Customers 
SET Email = 'nguyenvana.new@example.com'
WHERE CustomerName = 'Nguyễn Văn A';

6️⃣ Xóa dữ liệu (DELETE)

📌 Xóa sản phẩm có giá nhỏ hơn 200

DELETE FROM Products 
WHERE Price < 200;

📌 Xóa khách hàng có email "tranthib@example.com"

DELETE FROM Customers
WHERE Email = 'tranthib@example.com';

7️⃣ Bài tập thử thách 🚀

👉 Bài 1: Lấy danh sách 2 sản phẩm rẻ nhất.
👉 Bài 2: Lấy khách hàng có số điện thoại kết thúc bằng "66".
👉 Bài 3: Tăng giá tất cả sản phẩm thêm 10%.
👉 Bài 4: Xóa tất cả sản phẩm có số lượng tồn kho bằng 0.
👉 Bài 5: Cập nhật số lượng tồn kho của iPhone 15 thành 3 nếu giá của nó lớn hơn 1200.


Tóm tắt Ngày 7:
✔️ Tạo database và bảng (CREATE TABLE).
✔️ Chèn dữ liệu (INSERT INTO).
✔️ Truy vấn dữ liệu (SELECT, WHERE, ORDER BY, LIMIT).
✔️ Cập nhật dữ liệu (UPDATE).
✔️ Xóa dữ liệu (DELETE).

🚀 Tiếp theo: Học về Hàm trong SQL - Aggregate Functions.

📌 Lộ trình: Học SQL trong 30 ngày