SQLite - Tổng quan

Chào mừng các bạn đang theo đuổi lập trình! Hôm nay, chúng ta sẽ cùng khám phá thế giới kỳ diệu của SQLite. Tôi nhớ lại khi lần đầu tiên tôi học về cơ sở dữ liệu - cảm giác như mở ra một kho báu bí mật của kiến thức. Bây giờ, tôi rất vui được chia sẻ kho báu đó với các bạn. Hãy cùng bắt đầu hành trình thú vị này nhé!

SQLite - Overview

SQLite là gì?

SQLite giống như một siêu anh hùng nhỏ bé nhưng mạnh mẽ trong thế giới dữ liệu. Hãy tưởng tượng có một người bạn trung thành luôn sẵn sàng lưu trữ và lấy dữ liệu của bạn, mà không cần phải thiết lập phức tạp hay một máy chủ riêng biệt. Đó chính là SQLite!

SQLite là một cơ sở dữ liệu tự-contained, không cần máy chủ và không cần cấu hình. Nó giống như có một cơ sở dữ liệu SQL đầy đủ trong một tệp duy nhất trên đĩa của bạn. Thật tuyệt vời phải không?

Dưới đây là một ví dụ đơn giản về việc tạo một bảng trong SQLite:

CREATE TABLE superheroes (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
power TEXT,
strength INTEGER
);

Mã này tạo ra một bảng có tên 'superheroes' với bốn cột. Đừng lo lắng nếu nó trông có vẻ đáng sợ lúc này - chúng ta sẽ phân tích nó sau!

Tại sao lại là SQLite?

Bây giờ, bạn có thể tự hỏi, "Tại sao tôi nên quan tâm đến SQLite?" Hãy để tôi kể cho bạn một câu chuyện ngắn.

Ngày xưa, tôi đang làm việc trên một dự án nhỏ và cần một cách nhanh chóng để lưu trữ một số dữ liệu. Tôi không muốn thiết lập một máy chủ cơ sở dữ liệu đầy đủ cho một nhiệm vụ đơn giản như vậy. Đó là khi tôi phát hiện ra SQLite, và đó là tình yêu từ cái nhìn đầu tiên!

Dưới đây là một số lý do tại sao SQLite có thể trở thành người bạn mới của bạn:

  1. Không cần máy chủ: Không cần máy chủ cơ sở dữ liệu riêng biệt.
  2. Không cần cấu hình: Hoạt động ngay lập tức sau khi cài đặt.
  3. Di động: Toàn bộ cơ sở dữ liệu chỉ trong một tệp duy nhất.
  4. Nhẹ nhàng: Chiếm ít không gian đĩa và bộ nhớ.
  5. Đáng tin cậy: Hỗ trợ các giao dịch ACID.

Lịch sử ngắn gọn về SQLite

SQLite không phải mới xuất hiện yesterday. Thực tế, nó đã có từ năm 2000, được tạo ra bởi D. Richard Hipp. Nó giống như một người bạn đáng tin cậy đã luôn ở bên bạn qua bao phen sóng gió.

Đ趣 biết: SQLite là cơ sở dữ liệu được triển khai rộng rãi nhất trên thế giới. Nó có trong điện thoại của bạn, trong trình duyệt của bạn, và có lẽ còn nhiều thiết bị khác bạn sử dụng hàng ngày!

Hạn chế của SQLite

Bây giờ, tôi luôn nói với học sinh của mình: mỗi siêu anh hùng đều có kryptonite của mình. SQLite rất tuyệt vời, nhưng nó không phải là lựa chọn hoàn hảo cho mọi tình huống. Dưới đây là một số hạn chế cần lưu ý:

  1. Ghi đồng thời: SQLite chỉ có thể xử lý một 操作 ghi tại một thời điểm.
  2. Cơ sở dữ liệu lớn: Không lý tưởng cho các cơ sở dữ liệu rất lớn (thường là hơn 1TB).
  3. Truy cập mạng: Không hỗ trợ nhiều người dùng truy cập cơ sở dữ liệu qua mạng.

Lệnh SQLite

Hãy cùng thử nghiệm một số lệnh SQLite! Những lệnh này giống như các phép thuật trong sổ phép của chúng ta.

DDL - Ngôn ngữ Định nghĩa Dữ liệu

DDL được sử dụng để định nghĩa cấu trúc cơ sở dữ liệu. Chúng giống như những kiến trúc sư của thế giới cơ sở dữ liệu của chúng ta.

Dưới đây là bảng các lệnh DDL phổ biến:

Lệnh Mô tả Ví dụ
CREATE Tạo một bảng, view hoặc đối tượng mới CREATE TABLE heroes (id INTEGER, name TEXT);
ALTER Chỉnh sửa một đối tượng cơ sở dữ liệu hiện có ALTER TABLE heroes ADD COLUMN power TEXT;
DROP Xóa một bảng, view hoặc đối tượng DROP TABLE heroes;

Hãy phân tích ví dụ trước đó của chúng ta:

CREATE TABLE superheroes (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
power TEXT,
strength INTEGER
);

Lệnh này tạo ra một bảng có tên 'superheroes' với bốn cột:

  • 'id' là số nguyên và là khóa chính (identifiant duy nhất cho mỗi hàng)
  • 'name' là văn bản và không thể trống (rỗng)
  • 'power' là văn bản
  • 'strength' là số nguyên

DML - Ngôn ngữ Thao tác Dữ liệu

DML được sử dụng để thao tác dữ liệu trong cơ sở dữ liệu. Chúng giống như những công nhân di chuyển và tổ chức nội thất trong ngôi nhà cơ sở dữ liệu của chúng ta.

Dưới đây là bảng các lệnh DML phổ biến:

Lệnh Mô tả Ví dụ
INSERT Thêm dữ liệu mới vào bảng INSERT INTO heroes (name, power) VALUES ('Superman', 'Flight');
UPDATE Chỉnh sửa dữ liệu hiện có UPDATE heroes SET power = 'Super Strength' WHERE name = 'Superman';
DELETE Xóa dữ liệu khỏi bảng DELETE FROM heroes WHERE name = 'Superman';

Hãy xem một ví dụ:

INSERT INTO superheroes (name, power, strength)
VALUES ('Spider-Man', 'Web-slinging', 8);

Lệnh này thêm một siêu anh hùng mới vào bảng. Spider-Man có khả năng bắn web và có sức mạnh level 8. Thật tuyệt vời phải không?

DQL - Ngôn ngữ Truy vấn Dữ liệu

DQL được sử dụng để truy xuất dữ liệu từ cơ sở dữ liệu. Chúng giống như những thám tử của thế giới cơ sở dữ liệu, luôn tìm kiếm thông tin.

Dưới đây là bảng lệnh chính của DQL:

Lệnh Mô tả Ví dụ
SELECT Truy xuất dữ liệu từ một hoặc nhiều bảng SELECT name, power FROM heroes WHERE strength > 5;

Hãy thử một truy vấn:

SELECT name, power
FROM superheroes
WHERE strength > 7;

Lệnh này sẽ trả về tên và sức mạnh của tất cả các siêu anh hùng có sức mạnh lớn hơn 7. Trong trường hợp của chúng ta, nó sẽ trả về Spider-Man!

Và thế là chúng ta đã bước đầu vào thế giới của SQLite. Nhớ rằng, học cơ sở dữ liệu giống như học một ngôn ngữ mới - nó cần thời gian và kiên nhẫn. Nhưng tôi hứa với các bạn, một khi bạn đã thành thạo, bạn sẽ cảm thấy như một siêu anh hùng, có thể thao tác dữ liệu chỉ với một vài phím!

Vậy, hãy tiếp tục luyện tập, giữ vững sự tò mò, và đừng sợ mắc lỗi. Đó là cách chúng ta học và phát triển. Ai biết được, có lẽ một ngày nào đó bạn sẽ dạy SQLite cho thế hệ lập trình viên tiếp theo!

Credits: Image by storyset