SQL Database
Tham khảo: https://xuanthulab.net/tao-bang-voi-create-table-kieu-du-lieu-cot-trong-sql.html
SQL Create Table
Tạo một table mới trong database
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
....
);
- table_name: tên của table
- column1: tên cột
- datatype: kiểu dữ liệu của cột
- constraint: từ khóa đặc biệt
Kiểu dữ liệu
SQLite cung cấp lưu trữ kiểu dữ liệu động, không có bắt buộc chỉ định kiểu khi tạo bảng, kiểu của cột căng cứ vào kiểu giá trị lưu trữ vào cột . Các dữ liệu lưu vào cột sẽ được phân tích
và lưu trữ là Storage Class.

Các kiểu dữ liệu trong chuẩn SQL được sử dụng thì SQLite tự động sử dụng Storage Class tương ứng => Tham khảo: https://sqlite.org/datatype3.html
I. Nhóm thao tác dữ liệu (CRUD)
-
SELECT: Lấy dữ liệu từ bảng
- SELECT * FROM settings: lấy tất cả
- SELECT key, value FROM settings: Chỉ lấy cột cụ thể
-
INSERT INTO: Thêm dữ liệu mới
- INSERT INTO settings (id, key, value) VALUES (1, 'theme', 'dark');
-
UPDATE: chỉnh sửa dữ liệu đã có
- UPDATE settings SET value = 'light' WHERE key = 'theme';
-
DELETE: Xóa dữ liệu
- DELETE FROM settings WHERE id = 1
II. Nhóm lọc và sắp xếp
Giúp ta lấy chính xác thứ mình cần thay vì lấy một đống dữ liệu
- WHERE: Bộ lọc điều kiện.
- SELECT * FROM settings WHERE id > 10 AND key LIKE '%color%';
- ORDER BY: Sắp xếp kết quả.
- SELECT * FROM settings ORDER BY id DESC; (Giảm dần)
- DISTINCT: Loại bỏ các kết quả trùng lặp.
- SELECT DISTINCT key FROM settings;
- LIMIT / OFFSET: Giới hạn số lượng bản ghi trả về (rất quan trọng để làm phân trang).
- SELECT * FROM settings LIMIT 10 OFFSET 0; (Lấy 10 dòng đầu tiên)
III. Nhóm tổng hợp và thống kê
Dùng khi bạn cần tính toán thay vì chỉ liệt kê.
-
COUNT(): Đếm số dòng.
- SELECT COUNT(*) FROM settings;
-
SUM(), AVG(), MIN(), MAX(): Tính tổng, trung bình, nhỏ nhất, lớn nhất.
- SELECT MAX(id) FROM settings;
-
GROUP BY: Nhóm các dòng có cùng giá trị.
- SELECT key, COUNT(*) FROM settings GROUP BY key;
-
HAVING: Bộ lọc điều kiện dành riêng cho các nhóm sau khi GROUP BY.
- SELECT key FROM settings GROUP BY key HAVING COUNT(*) > 1;
Một số lưu ý
- Sử dụng
INDEX: Nếu table lên đến hàng nghìn dòng, hãy tạo index cho các cột hay dùng để tìm kiếm. Tốc độ tìm kiếm sẽ nhanh hơn rất nhiều. - Transaction. Nếu cần chèn 1000 dữ liệu, đừng gọi 1000 lần insert. Hãy bọc chúng vào trong một transaction -> giúp tốc độ ghi vào ổ cứng nhanh hơn.
All rights reserved