SQLite là gì? Những tính năng nổi bật và cách sử dụng

1512
23-10-2024
SQLite là gì? Những tính năng nổi bật và cách sử dụng

Cùng tìm hiểu SQList là gì với những tính năng cũng như cách sử dụng của nó với Bizfly Cloud trong bài viết ngay sau đây.

SQLite là gì?

SQLite là một hệ quản trị cơ sở dữ liệu (DBMS) nhỏ gọn, không cần cấu hình, được tích hợp sẵn trong các hệ điều hành phổ biến như Windows, macOS, Linux, iOS và Android. SQLite có thể được coi là một hệ quản trị cơ sở dữ liệu nhúng (embedded database), vì được thiết kế để hoạt động trực tiếp bên trong các ứng dụng thay vì chạy trên một máy chủ độc lập.

SQLite được phát triển lần đầu tiên vào năm 2000 bởi Richard Hipp. Mục tiêu ban đầu của ông là tạo ra một hệ quản trị cơ sở dữ liệu nhúng, dễ sử dụng và có thể tích hợp vào các ứng dụng mà không cần cài đặt phức tạp.

Những tính năng cơ bản của SQLite

SQLite có nhiều tính năng hấp dẫn, làm cho nó trở thành một lựa chọn phổ biến trong các ứng dụng. Dưới đây là những tính năng cơ bản của SQLite.

  • Tuân thủ ACID: SQLite đảm bảo tính nhất quán và độ tin cậy của giao dịch thông qua việc tuân thủ các nguyên tắc ACID (Atomicity, Consistency, Isolation, Durability), ngay cả khi hệ thống gặp sự cố như treo máy hoặc mất điện.
  • Không cần cấu hình: SQLite không yêu cầu cài đặt hoặc quản trị phức tạp, giúp người dùng dễ dàng triển khai và sử dụng mà không cần phải thiết lập máy chủ.
  • Lưu trữ trong một tệp duy nhất: Tất cả dữ liệu của cơ sở dữ liệu được lưu trữ trong một tệp đa nền tảng duy nhất, giúp dễ dàng quản lý và di chuyển.
  • Hỗ trợ kích thước lớn: SQLite có khả năng xử lý cơ sở dữ liệu có kích thước lên đến terabyte và các chuỗi dữ liệu lớn, làm cho nó phù hợp cho nhiều ứng dụng khác nhau.
  • Tính năng API đơn giản: SQLite cung cấp một API dễ sử dụng, hỗ trợ nhiều ngôn ngữ lập trình khác nhau, giúp lập trình viên dễ dàng tích hợp và sử dụng trong các ứng dụng của họ.

Tại sao nên sử dụng SQLite?

Nhiều người lựa chọn SQLite cho các ứng dụng, phần mềm của mình vì:

  • SQLite là mã nguồn mở, không cần giấy phép để làm việc.
  • SQLite không yêu cầu một quy trình máy chủ hoặc hệ thống khác để hoạt động.
  • SQLite rất linh hoạt, có thể làm việc trên nhiều cơ sở dữ liệu trong cùng một phiên làm việc vào cùng một lúc.
  • SQLite không yêu cầu cấu hình, không cần thiết lập hoặc quản trị.
  • SQLite là một DBMS đa nền tảng, có thể sử dụng trên nhiều hệ điều hành nhúng như Symbian và Windows CE.
  • Lưu trữ dữ liệu dễ dàng
  • Thoải mái thay đổi chiều dài cột
  • SQLite cung cấp API cho nhiều ngôn ngữ lập trình như .Net (Visual Basic, C#), PHP, Java, Objective C, Python,....
  • SQLite được viết bằng ANSI-C, API đơn giản và dễ sử dụng.
  • SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows (Win32, WinCE, WinRT).
Tại sao nên sử dụng SQLite?

Tại sao nên sử dụng SQLite?

Những mặt hạn chế của SQLite

Mặc dù SQLite có nhiều ưu điểm, nhưng SQLite vẫn còn những mặt hạn chế nhất định:.

Hạn chế về ghi đồng thời

SQLite cho phép nhiều kết nối đọc dữ liệu đồng thời, nhưng chỉ cho phép một kết nối ghi dữ liệu tại một thời điểm, gây ra tắc nghẽn trong các ứng dụng có nhiều yêu cầu ghi dữ liệu đồng thời, làm giảm hiệu suất trong các tình huống này.

Thiếu một số tính năng SQL tiêu chuẩn 

SQLite không hỗ trợ một số tính năng của chuẩn SQL92, bao gồm:

  • RIGHT OUTER JOIN và FULL OUTER JOIN: Chỉ có LEFT OUTER JOIN được hỗ trợ.
  • ALTER TABLE: Hạn chế trong việc thay đổi cấu trúc bảng, như không hỗ trợ xóa cột hoặc thêm ràng buộc.
  • Triggers: SQLite hỗ trợ triggers nhưng chỉ cho phép loại FOR EACH ROW, không hỗ trợ FOR EACH STATEMENT.

Kết nối mạng và hiệu suất

Mặc dù SQLite có thể được chia sẻ qua hệ thống tập tin mạng, nhưng việc này có thể dẫn đến độ trễ và ảnh hưởng đến hiệu suất.

Ứng dụng thực tế của SQLite khi sử dụng

SQLite được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm:

Ứng dụng di động

Trong các ứng dụng di động, SQLite thường được sử dụng để lưu trữ dữ liệu người dùng như danh sách liên lạc, lịch hẹn, và thông tin tài khoản. Ngoài ra, nó cũng có thể lưu trữ dữ liệu ứng dụng như cài đặt, thanh toán, và dữ liệu offline, giúp người dùng truy cập thông tin ngay cả khi không có kết nối mạng.

Ứng dụng web

SQLite cũng được sử dụng trong các ứng dụng web để lưu trữ dữ liệu tạm thời như phiên người dùng và bộ nhớ đệm. Điều này giúp cải thiện hiệu suất của ứng dụng và cung cấp trải nghiệm người dùng tốt hơn. Hơn nữa, SQLite hỗ trợ các chức năng offline trong ứng dụng web, cho phép người dùng tiếp tục làm việc ngay cả khi không có kết nối Internet.

Ứng dụng nhúng

SQLite rất phổ biến trong các thiết bị nhúng như máy in, router, và cảm biến IoT. Nó có thể lưu trữ dữ liệu cài đặt và cấu hình, cũng như dữ liệu cảm biến và dữ liệu thu thập trong các thiết bị IoT. Việc sử dụng SQLite giúp giảm thiểu chi phí và tăng tính linh hoạt cho các thiết bị này.

Trò chơi

Trong lĩnh vực trò chơi, SQLite thường được sử dụng để lưu trữ dữ liệu người chơi, tiến trình trò chơi, và bảng xếp hạng. Điều này giúp các nhà phát triển dễ dàng quản lý dữ liệu và cung cấp trải nghiệm người dùng tốt hơn.

Dữ liệu khoa học

SQLite cũng được sử dụng trong lĩnh vực khoa học để lưu trữ dữ liệu thí nghiệm và kết quả phân tích. Việc sử dụng SQLite giúp các nhà nghiên cứu dễ dàng quản lý và truy xuất dữ liệu một cách hiệu quả.

Các cú pháp phổ biến trong SQLite

SQLite sử dụng ngôn ngữ SQL chuẩn, đây là một ngôn ngữ mạnh mẽ và linh hoạt để tương tác với cơ sở dữ liệu. Dưới đây là một số cú pháp phổ biến trong SQLite.

Tạo bảng (CREATE TABLE)

Để tạo một bảng mới trong SQLite, bạn có thể sử dụng cú pháp sau:

CREATE TABLE users (

    id INTEGER PRIMARY KEY AUTOINCREMENT,

    name VARCHAR(255) NOT NULL,

    email VARCHAR(255) UNIQUE,

    password TEXT

); 

Cú pháp này sẽ tạo ra một bảng tên là "users" với các cột id, name, email, và password.

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

Để chèn dữ liệu vào bảng, bạn có thể sử dụng cú pháp sau:

INSERT INTO users (name, email, password) VALUES ('John Doe', 'john.doe@example.com', 'password123');

Cú pháp này sẽ thêm một dòng mới vào bảng "users" với thông tin của người dùng.

Truy vấn dữ liệu (SELECT)

Để truy vấn dữ liệu từ bảng, bạn có thể sử dụng cú pháp sau:

SELECT * FROM users; 

Hoặc để truy vấn cụ thể hơn:

SELECT name, email FROM users WHERE id = 1; 

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

Để cập nhật dữ liệu trong bảng, bạn có thể sử dụng cú pháp sau:

UPDATE users SET email = 'john.doe@newdomain.com' WHERE id = 1; 

Cú pháp này sẽ cập nhật địa chỉ email của người dùng có id bằng 1.

Xóa dữ liệu (DELETE)

Để xóa dữ liệu khỏi bảng, bạn có thể sử dụng cú pháp sau:

DELETE FROM users WHERE id = 1; 

Cú pháp này sẽ xóa người dùng có id bằng 1 khỏi bảng "users".

Tạo chỉ mục (CREATE INDEX)

Để tạo chỉ mục cho một cột trong bảng, bạn có thể sử dụng cú pháp sau:

CREATE INDEX idx_name ON users (name);

Chỉ mục này sẽ giúp tăng tốc độ truy vấn dữ liệu theo cột name.

Hướng dẫn cài đặt SQLite

SQLite rất dễ cài đặt, bạn có thể tải xuống và sử dụng nó ngay lập tức mà không cần cấu hình phức tạp.

Bước 1:

Tải xuống SQLit từ trang web chính thức: https://www.sqlite.org/. 

Trang web này cung cấp các phiên bản khác nhau của SQLite cho các hệ điều hành khác nhau.

Bước 2: Giải nén tệp:

Tạo một thư mục mới trên ổ đĩa của bạn, ví dụ: C:\sqlite.

Giải nén các tệp đã tải xuống vào thư mục này. Bạn sẽ thấy các tệp như sqlite3.exe, sqlite3.dll, và sqlite3.def.

Bước 3: Thêm vào biến môi trường PATH:

Để có thể sử dụng SQLite từ bất kỳ đâu trong Command Prompt, bạn cần thêm đường dẫn đến thư mục chứa SQLite vào biến môi trường PATH.

Bạn có thể làm điều này bằng cách vào Control Panel > System > Advanced system settings > Environment Variables, sau đó thêm C:\sqlite vào biến Path.

Bước 4: Kiểm tra cài đặt

Mở Command Prompt (nhấn Windows + R, gõ cmd và nhấn Enter).

Gõ lệnh sqlite3 và nhấn Enter. Nếu cài đặt thành công, bạn sẽ thấy thông tin phiên bản của SQLite.

sudo apt install mysql-client -y

SHARE