Sqlite là gì

Trong bài học này sẽ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 thức xử lý Cơ sở dữ liệu ứng dụng như thế nào.

Bạn đang xem: Sqlite là gì

*


*

1. SQLite là gì?

SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ, không cần cấu hình, khép kín vànhỏ gọn.Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn không cần phảicấu hình nó trong hệ thống của mình.

SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách 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 file lưu trữ (storage files) của nó.

2. Tại sao lại là 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.SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị.Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file diskđa nền tảng (cross-platform disk file).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à khép kín (self-contained), có nghĩa là không có phụ thuộc bên ngoài.Các transaction trongSQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều tiến trình (process) hoặc luồng (thread).SQLite hỗ trợ hầu hết các tính năng ngôn ngữ truy vấn (query language) được tìm thấy 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).

3. Lịch sử tóm tắt của SQLite

2000 - D. Richard Hipp đã thiết kế SQLite cho mục đích không yêu cầu quản trị để vận hành 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 tuyên bố bổ sung 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 -Document oriented database).

4. Hạn chế SQLite

Một số tính năngcủa SQL92không được hỗ trợtrong SQLite được liệt kê trong bảng sau:

STTĐặc điểmMô tả
1RIGHT OUTER JOINChỉ cóLEFT OUTER JOINđược thực hiện.
2FULL OUTER JOINChỉ cóLEFT OUTER JOINđược thực hiện.
3ALTER TABLECác biến thể RENAME TABLE và ADD COLUMN của lệnh ALTER TABLE được hỗ trợ.DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT không được hỗ trợ.

Xem thêm: Bảng Ngọc Và Cách Chơi Master Yi Tank, Cách Chơi Master Yi Tốc Chiến

4Trigger supportTriggerFOR EACH ROWđược hỗ trợ nhưng không hỗ trợ FOR EACH STATEMENT.
5VIEWsVIEWs trong SQLite là chỉ đọc. Bạn không thể thực thi câu lệnh DELETE,INSERThoặcUPDATEtrên một view.
6GRANT và REVOKECác quyền truy cập duy nhất có thể được áp dụng là các quyền truy cập file thông thường (normal file) của hệ điều hành.

5. SQLite Commands

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àCREATE, SELECT, INSERT, UPDATE, DELETE 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 tính chất hoạt động của chúng như sau:

DDL - Ngôn ngữ định nghĩa dữ liệu (Data Definition Language)

LệnhMô tả
CREATETạo mới một bảng, view của bảng hoặc đối tượng khác trong cơ sở dữ liệu.
ALTERSửa đổi một đối tượng cơ sở dữ liệu đang tồn tại, chẳng hạn như bảng.
DROPXóa toàn bộ bảng, view của 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 (Data Manipulation Language)

LệnhMô tả
INSERTTạo một bản ghi (record)
UPDATESữa một bản ghi (record)
DELETEXóa một bản ghi (record)

DQL - Ngôn ngữ truy vấn dữ liệu (Data Query Language)

LệnhMô tả
SELECTLấy một số bản ghi nhất định từ một hoặc nhiều bảng.


Các hàm hữu ích trong SQLite

SQLite có nhiều hàm dựng sẵn để thực hiện xử lý trên dữ liệu chuỗi…



Date & Time trong SQLite

SQLite hỗ trợ năm hàm ngày và giờ như date(timestring, modifiers...), time(timestring, modifiers...), datetime(timestring, modifiers...),…



VACUUM trong SQLite

Lệnh VACUUM trong SQLite làm sạch cơ sở dữ liệu chính bằng cách sao chép…



EXPLAIN trong SQLite

Câu lệnh SQLite có thể được bắt đầu bằng từ khóa "EXPLAIN" hoặc bằng cụm…


SQL Injection trong SQLite

Nếu bạn nhận user input thông qua một Webpage và chèn nó vào trong một…


Tăng tự động AUTOINCREMENT trong SQLite

AUTOINCREMENT trong SQLite là một từ khóa được sử dụng để tự động tăng giá…


Subquery trong SQLite

Subquery hoặc Inner query hoặc Nested query là một truy vấn bên trong một truy…


Transaction trong SQLite

Một transaction là một đơn vị công việc được thực hiện đối với một cơ…


Tìm hiểu View trong SQLite

Một view không có gì khác hơn một câu lệnh SQLite được lưu trữ trong…


Lệnh TRUNCATE TABLE trong SQLite

Thật không may, không có lệnh TRUNCATE TABLE trong SQLite nhưng bạn có thể sử…


Lệnh ALTER TABLE trong SQLite

Lệnh ALTER TABLE trong SQLite dùng để sửa đổi một bảng hiện có mà không…


Mệnh đề INDEXED BY trong SQLite

Mệnh đề "INDEXED BY index-name" chỉ định rằng index-name phải được sử dụng để tìm…


Tìm hiểu Trigger trong SQLite

Trigger trong SQLite là các hàm callback, mà tự động được thực hiện/gọi (performed/invoked) khi…


Toán tử UNION trong SQLite

Toán tử UNION trong SQLite được sử dụng để kết hợp các kết quả của…


Các ràng buộc Constraint trong SQLite

Các ràng buộc (Constraints) là các quy tắc được thi hành trên một cột dữ…


Lệnh PRAGMA trong SQLite

Lệnh PRAGMA trong SQLite là một lệnh đặc biệt được sử dụng để kiểm soát…


Từ khóa DISTINCT trong SQLite

Từ khóa DISTINCT trong SQLite được sử dụng cùng với câu lệnh SELECT để loại…