SQLite - Cú pháp: Hướng dẫn cho người mới bắt đầu
Xin chào các bạn tương lai của các phù thủy cơ sở dữ liệu! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của cú pháp SQLite. Đừng lo lắng nếu bạn chưa bao giờ viết một dòng mã trước đây - tôi sẽ là người hướng dẫn thân thiện của bạn, và vào cuối bài hướng dẫn này, bạn sẽ nói SQLite như một chuyên gia!
Giới thiệu về cú pháp SQLite
Trước khi chúng ta bắt đầu, hãy tưởng tượng SQLite như một ngôn ngữ ma thuật mà chúng ta sử dụng để giao tiếp với cơ sở dữ liệu của mình. Cũng như bất kỳ ngôn ngữ nào khác, nó có những quy tắc và cấu trúc riêng. Nhưng đừng lo lắng, nó dễ học hơn nhiều so với Elvish hoặc Klingon!
Case Sensitivity
Bây giờ, hãy nói về điều làm cho nhiều người mới bắt đầu gặp khó khăn: case sensitivity. Trong SQLite, các từ khóa và tên hàm là không phân biệt chữ hoa và chữ thường. Điều này có nghĩa là dù bạn viết SELECT, select, hoặc thậm chí SeLeCt, SQLite sẽ hiểu bạn rất tốt.
Tuy nhiên, và điều này rất quan trọng, tên bảng và cột là phân biệt chữ hoa và chữ thường khi bạn sử dụng dấu kép. Hãy xem một số ví dụ:
SELECT * FROM Users; -- Điều này hoạt động
select * from Users; -- Điều này cũng hoạt động
SELECT * FROM "Users"; -- Điều này hoạt động và là phân biệt chữ hoa và chữ thường
SELECT * FROM "users"; -- Điều này khác với "Users"
Trong hai ví dụ đầu tiên, SQLite không quan tâm đến chữ hoa hoặc chữ thường của SELECT hoặc FROM. Trong hai ví dụ cuối cùng, "Users" và "users" được coi là các bảng khác nhau vì chúng ở trong dấu kép.
Mẹo nhỏ: Mặc dù SQLite cho phép sự linh hoạt này, nhưng việc nhất quán trong việc viết hoa là một thói quen tốt. Tôi luôn viết các từ khóa của mình in hoa và tên bảng/cột của mình in thường. Điều này làm cho mã dễ đọc hơn, đặc biệt là khi bạn đang gỡ lỗi vào lúc 2 giờ sáng với một tách cà phê!
Bình luận
Bình luận là những ghi chú nhỏ chúng ta để lại cho mình hoặc các lập trình viên khác. Chúng bị bỏ qua bởi SQLite nhưng có thể rất hữu ích cho con người đọc mã. Có hai loại bình luận trong SQLite:
- Bình luận dòng đơn: Bắt đầu với hai gạch ngang (--) và tiếp tục đến cuối dòng.
- Bình luận đa dòng: Bắt đầu với / và kết thúc với /.
Hãy xem một số ví dụ:
-- Đây là một bình luận dòng đơn
SELECT * FROM users; -- Chúng ta cũng có thể đặt bình luận ở cuối dòng
/* Đây là một bình luận đa dòng
Nó có thể跨越多行
Rất hữu ích cho các giải thích dài */
SELECT name, age
FROM users
WHERE age > 18;
Tôi từng có một học sinh nghĩ rằng bình luận là lãng phí thời gian. Một vài tuần sau, anh ấy quay lại mã của mình và không thể nhớ nó làm gì. Bây giờ anh ấy bình luận một cách tôn giáo!
Câu lệnh SQLite
Bây giờ, hãy chuyển sang phần chính của SQLite: các câu lệnh. Đây là các hướng dẫn chúng ta đưa ra cho cơ sở dữ liệu để thực hiện các hành động. Dưới đây là một số câu lệnh SQLite phổ biến nhất:
Câu lệnh | Mô tả |
---|---|
SELECT | Lấy dữ liệu từ cơ sở dữ liệu |
INSERT | Thêm dữ liệu mới vào bảng |
UPDATE | Chỉnh sửa dữ liệu hiện có trong bảng |
DELETE | Xóa dữ liệu khỏi bảng |
CREATE TABLE | Tạo một bảng mới |
ALTER TABLE | Chỉnh sửa một bảng hiện có |
DROP TABLE | Xóa một bảng |
CREATE INDEX | Tạo một chỉ mục (từ khóa tìm kiếm) |
DROP INDEX | Xóa một chỉ mục |
Hãy xem một số ví dụ về các câu lệnh này trong hành động:
Câu lệnh SELECT
SELECT name, age FROM users WHERE age > 18 ORDER BY name;
Câu lệnh này có nghĩa là: "Đưa cho tôi tên và tuổi của tất cả các người dùng trên 18 tuổi, và sắp xếp chúng theo thứ tự bảng chữ cái theo tên." Nó giống như yêu cầu cơ sở dữ liệu của bạn làm trợ lý cá nhân của bạn!
Câu lệnh INSERT
INSERT INTO users (name, age, email) VALUES ('Alice', 25, '[email protected]');
Điều này giống như giới thiệu một người bạn mới vào cơ sở dữ liệu của bạn. Chúng ta đang thêm Alice, người 25 tuổi, vào bảng users.
Câu lệnh UPDATE
UPDATE users SET age = 26 WHERE name = 'Alice';
Ồ! Alice vừa có sinh nhật. Câu lệnh này cập nhật tuổi của cô ấy trong cơ sở dữ liệu của chúng ta.
Câu lệnh DELETE
DELETE FROM users WHERE name = 'Bob';
Poor Bob quyết định rời khỏi ứng dụng của chúng ta. Câu lệnh này xóa anh ấy khỏi bảng users.
Câu lệnh CREATE TABLE
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price REAL
);
Điều này giống như thiết lập một tủ hồ sơ mới cho các sản phẩm của chúng ta. Chúng ta đang tạo một bảng với các cột id, name và price.
Lưu ý, mỗi câu lệnh trong SQLite kết thúc bằng dấu chấm phẩy (;). Nó giống như nói "xong" trong một cuộc trò chuyện radio - nó cho biết bạn đã xong với hướng dẫn đó.
Kết luận
Chúc mừng! Bạn vừa bước những bước đầu tiên vào thế giới của cú pháp SQLite. Chúng ta đã covered case sensitivity, comments, và một số câu lệnh SQLite phổ biến nhất. Nhớ rằng, học một ngôn ngữ mới - ngay cả một ngôn ngữ lập trình - mất thời gian và thực hành. Đừng nản lòng nếu nó không ngay lập tức hiểu ngay lập tức.
Trong những năm dạy học của tôi, tôi đã thấy vô số học sinh từ những người mới bắt đầu trở thành chuyên gia SQLite. Ch关键是 kiên nhẫn và rất nhiều thực hành HANDS-ON. Vậy hãy mở SQLite console, và bắt đầu thử nghiệm những gì bạn đã học hôm nay. Trước khi bạn biết điều đó, bạn sẽ đang truy vấn cơ sở dữ liệu trong giấc ngủ!
Lần tới, chúng ta sẽ深入研究 các khái niệm SQLite phức tạp hơn. Đến那时候, chúc các bạn lập trình vui vẻ, và hy vọng các truy vấn của bạn luôn trả về kết quả bạn mong đợi!
Credits: Image by storyset