Mẫu SQL bán hàng online

Copy code bên dưới để sử dụng


-- =============================================

CREATE TABLE san_pham (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    ten_sp TEXT NOT NULL,
    danh_muc TEXT,
    gia_ban REAL DEFAULT 0,
    ton_kho INTEGER DEFAULT 0,
    mo_ta TEXT,
    ngay_tao TEXT DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE don_hang (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    ten_khach_hang TEXT NOT NULL,
    so_dien_thoai TEXT,
    dia_chi_giao TEXT,
    tong_tien REAL,
    trang_thai TEXT DEFAULT 'Cho_xac_nhan' CHECK(trang_thai IN ('Cho_xac_nhan', 'Da_thanh_toan', 'Huy')),
    ngay_dat TEXT DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE chi_tiet_don_hang (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    don_hang_id INTEGER,
    san_pham_id INTEGER,
    so_luong INTEGER NOT NULL,
    gia_don_vi REAL NOT NULL,
    FOREIGN KEY (don_hang_id) REFERENCES don_hang(id) ON DELETE CASCADE,
    FOREIGN KEY (san_pham_id) REFERENCES san_pham(id) ON DELETE RESTRICT
);

CREATE TABLE giao_hang (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    don_hang_id INTEGER,
    don_vi_vanchuyen TEXT,
    ma_van_don TEXT,
    trang_thai_giao TEXT DEFAULT 'Dang_chuan_bi' CHECK(trang_thai_giao IN ('Dang_chuan_bi', 'Dang_giao', 'Da_giao', 'Tra_hang')),
    ngay_cap_nhat TEXT DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (don_hang_id) REFERENCES don_hang(id) ON DELETE CASCADE
);

-- ========================== INSERT DỮ LIỆU ==========================

INSERT INTO san_pham (ten_sp, danh_muc, gia_ban, ton_kho, mo_ta) VALUES
('iPhone 15 Pro Max', 'Điện thoại', 32000000, 50, 'Phiên bản titan tự nhiên'),
('Samsung Galaxy S24 Ultra', 'Điện thoại', 28000000, 30, 'Bút S-Pen tích hợp AI'),
('MacBook Air M3', 'Laptop', 27000000, 15, 'Siêu mỏng nhẹ, hiệu năng cao'),
('Dell XPS 13', 'Laptop', 35000000, 10, 'Màn hình vô cực thời thượng'),
('Sony WH-1000XM5', 'Phụ kiện', 8500000, 20, 'Tai nghe chống ồn đỉnh cao'),
('Chuột Logitech MX Master 3S', 'Phụ kiện', 2500000, 100, 'Chuột công thái học tốt nhất'),
('Bàn phím cơ Keychron K10', 'Phụ kiện', 2100000, 45, 'Kết nối không dây đa thiết bị'),
('Màn hình LG Gram 16 inch', 'Màn hình', 9000000, 12, 'Màn hình di động siêu nhẹ'),
('iPad Pro M2', 'Máy tính bảng', 22000000, 25, 'Màn hình Liquid Retina XDR'),
('Apple Watch Series 9', 'Đồng hồ', 10500000, 60, 'Theo dõi sức khỏe chuyên sâu'),
('Loa Marshall Stanmore III', 'Âm thanh', 9500000, 8, 'Thiết kế cổ điển sang trọng'),
('Máy ảnh Fujifilm X-T5', 'Máy ảnh', 42000000, 5, 'Màu film đặc trưng của Fuji'),
('Ống kính 35mm f1.4', 'Máy ảnh', 15000000, 10, 'Độ nét vượt trội'),
('Tay cầm PS5 DualSense', 'Gaming', 1600000, 80, 'Phản hồi xúc giác chân thực'),
('Máy chơi game Nintendo Switch', 'Gaming', 7000000, 40, 'Chơi game linh hoạt mọi nơi'),
('SSD Samsung 990 Pro 1TB', 'Linh kiện', 3200000, 150, 'Tốc độ đọc ghi cực nhanh'),
('Ram Corsair Vengeance 32GB', 'Linh kiện', 2800000, 200, 'Bus 5600MHz ổn định'),
('Sạc dự phòng Anker 20000mAh', 'Phụ kiện', 1200000, 300, 'Sạc nhanh chuẩn Power Delivery'),
('Giá đỡ Laptop nhôm', 'Phụ kiện', 450000, 500, 'Tản nhiệt hiệu quả'),
('Hub USB-C 8 in 1', 'Phụ kiện', 850000, 120, 'Đầy đủ các cổng kết nối');

INSERT INTO don_hang (ten_khach_hang, so_dien_thoai, dia_chi_giao, tong_tien, trang_thai) VALUES
('Nguyễn Văn A', '0901234567', '123 Lê Lợi, Quận 1, TP.HCM', 32000000, 'Da_thanh_toan'),
('Trần Thị B', '0988777666', '456 Trần Hưng Đạo, Đà Nẵng', 8500000, 'Cho_xac_nhan');

INSERT INTO giao_hang (don_hang_id, don_vi_vanchuyen, ma_van_don, trang_thai_giao) VALUES
(1, 'Giao Hàng Nhanh', 'GHN123456789', 'Dang_giao'),
(2, 'Viettel Post', 'VT888999', 'Dang_chuan_bi');