SQLite - Tổng quan
Chương này giúp bạn hiểu SQLite là gì, nó khác với SQL như thế nào, tại sao nó lại cần thiết và cách nó xử lý các ứng dụng Cơ sở dữ liệu.
SQLite là một thư viện phần mềm triển khai một công cụ cơ sở dữ liệu SQL giao dịch độc lập, không máy chủ, không cấu hình, không giao dịch. SQLite là một trong những công cụ cơ sở dữ liệu phát triển nhanh nhất, nhưng đó là sự phát triển về mức độ phổ biến, không liên quan gì đến kích thước của nó. Mã nguồn cho SQLite nằm trong miền công cộng.
SQLite là gì?
SQLite là một thư viện trong quá trình triển khai một công cụ cơ sở dữ liệu SQL giao dịch độc lập, không máy chủ, không cấu hình, không giao dịch. Nó là một cơ sở dữ liệu, được cấu hình bằng không, có nghĩa là giống như các cơ sở dữ liệu khác, bạn không cần phải cấu hình nó trong hệ thống của mình.
SQLite engine không phải là một quá trình độc lập như các cơ sở dữ liệu khác, bạn có thể liên kết nó tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của bạn. SQLite truy cập trực tiếp các tệp lưu trữ của nó.
Tại sao sử dụng SQLite?
SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt động (serverless).
SQLite đi kèm với cấu hình không, có nghĩa là không cần thiết lập hoặc quản trị.
Cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một tệp đĩa đa nền tảng.
SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ hoặc dưới 250KiB với các tính năng tùy chọn bị bỏ qua.
SQLite là độc lập, có nghĩa là không có phụ thuộc bên ngoài.
Các giao dịch SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều quy trình hoặc chuỗi.
SQLite hỗ trợ hầu hết các tính năng ngôn ngữ truy vấn có trong tiêu chuẩn SQL92 (SQL2).
SQLite được viết bằng ANSI-C và cung cấp 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).
Lịch sử tóm tắt về SQLite
2000 - D. Richard Hipp đã thiết kế SQLite với mục đích không cần quản trị để vận hành một chương trình.
2000 - Vào tháng 8, SQLite 1.0 được phát hành với Trình quản lý cơ sở dữ liệu GNU.
2011 - Hipp thông báo thêm giao diện UNQl vào SQLite DB và phát triển UNQLite (Cơ sở dữ liệu hướng tài liệu).
Hạn chế của SQLite
Có một số tính năng không được hỗ trợ của SQL92 trong SQLite được liệt kê trong bảng sau.
Sr.No. | Sự miêu tả yếu tố |
---|---|
1 | RIGHT OUTER JOIN Chỉ LEFT OUTER JOIN mới được triển khai. |
2 | FULL OUTER JOIN Chỉ LEFT OUTER JOIN mới được triển khai. |
3 | ALTER TABLE Các biến thể RENAME TABLE và ADD COLUMN của lệnh ALTER TABLE được hỗ trợ. Không hỗ trợ DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT. |
4 | Trigger support Trình kích hoạt CHO MỖI ROW được hỗ trợ nhưng không hỗ trợ Trình kích hoạt CHO MỖI THỐNG KÊ. |
5 | VIEWs VIEW trong SQLite là chế độ chỉ đọc. Bạn không thể thực hiện câu lệnh DELETE, INSERT hoặc UPDATE trên một dạng xem. |
6 | GRANT and REVOKE Các quyền truy cập duy nhất có thể được áp dụng là các quyền truy cập tệp thông thường của hệ điều hành cơ bản. |
Lệnh SQLite
Các lệnh SQLite tiêu chuẩn để tương tác với cơ sở dữ liệu quan hệ tương tự như SQL. Chúng là TẠO, CHỌN, CHÈN, CẬP NHẬT, XÓA và DROP. Các lệnh này có thể được phân loại thành các nhóm dựa trên bản chất hoạt động của chúng -
DDL - Ngôn ngữ định nghĩa dữ liệu
Sr.No. | Lệnh & Mô tả |
---|---|
1 | CREATE Tạo bảng mới, dạng xem bảng hoặc đối tượng khác trong cơ sở dữ liệu. |
2 | ALTER Sửa đổi đối tượng cơ sở dữ liệu hiện có, chẳng hạn như bảng. |
3 | DROP Xóa toàn bộ bảng, dạng xem bảng hoặc đối tượng khác trong cơ sở dữ liệu. |
DML - Ngôn ngữ thao tác dữ liệu
Sr.No. | Lệnh & Mô tả |
---|---|
1 | INSERT Tạo kỷ lục |
2 | UPDATE Sửa đổi hồ sơ |
3 | DELETE Xóa hồ sơ |
DQL - Ngôn ngữ truy vấn dữ liệu
Sr.No. | Lệnh & Mô tả |
---|---|
1 | SELECT Lấy các bản ghi nhất định từ một hoặc nhiều bảng |