Trong môi trường nảy, SQLite nôi lên như một công cụ cơ sở đữ liệu phô biến và linh hoạt, mang lại giải pháp lưu trữ đữ liệu hiệu quả cho nhiều ứng dụng khác nhau.. SQLite không chỉ là
Trang 1BO GIAO DUC VA DAO TAO NGAN HANG NHA NUOC VIET NAM
TRUONG DAI HOC NGAN HANG TP HCM KHOA: HE THONG THONG TIN QUAN LY
HE QUAN TRI CO SO DU LIEU
DE TAI: TIM HIEU VE SQLITE
Giảng viên hướng dẫn : ThS Bùi Hữu Đông Lớp : ITS705 232 I1 D03 Nhóm thực hiện : 01
Trang 2DANH SACH THANH VIEN NHOM
ST Mã số sinh Mức độ hoàn
Họ và tên Công việc
1 | Bùi Thị Như Quỳnh 030238220208 [ Nội dung 100%
2 | Nguyễn Thị Thương 030238220261 | Nội dụng 100%
3 | Phạm Bùi Quốc Khánh 030238220091 | Nội dung 100%
4 | Huynh Mạnh Ky 030238220098 | Bao cao 100%
5 | Lé Viet Cuong 030238220018 | Nội dung 100%
Trang 3
NHAN XET CUA GIANG VIEN
1 Hinh thức (Bồ cục, trình bày, lỗi, các mục, hình, bảng, công thức, phụ lục)
TP Hồ Chí Minh, ngày tháng năm 2024
Giáo viên hướng dẫn
(Ky rõ họ và tên)
Trang 4LOI CAM ON Lời đầu tiên, nhóm em xin gui loi cam ơn chân thành nhất đến Th§ Bùi Hữu Đông
Trong quá trình học tập và tìm hiểu bộ môn Hệ quản trị cơ sở dữ liệu, nhóm em đã nhận được sự quan tâm giúp đỡ, hướng dẫn rất tận tình, tâm huyết của thầy Thầy đã giúp nhóm em tích lũy thêm nhiều kiến thức để có cái nhìn sâu sắc và hoàn thiện hơn trong cuộc sống Từ những kiến thức mà thây truyền tải, chúng em đã hiểu hơn về môn học của
mình Thông qua bài báo cáo này, nhóm em xin trình bày lại những gì mà mỉnh đã tìm
hiểu về vấn đề: “Tìm hiểu về SQLite” gửi đến thầy Có lẽ kiến thức là vô hạn mà sự tiếp nhận kiến thức của mỗi người luôn tồn tại những hạn chế nhất định Do đó, trong quá trình hoàn thành bài báo cáo, chắc chắn không tránh khỏi những thiếu sót Bản thân nhóm
em rất mong nhận được những góp ý đến từ thầy để bài báo cáo của nhóm em được hoản thiện hơn Kính chúc thầy sức khỏe, hạnh phúc, thành công trên con đường sự nghiệp
Chung em xin chan thanh cam on!
Trang 5MUC LUC
1.1 Giới thiệu chung vé SQLites.000 cic cece ecccseseesesseseseesesesseeteessnesersnees 11
1.2 Nhận định chung: - - - 5 1 2011020111201 11111 1111111111111 111111111111 111 1111k 11
1.3 Doi trong nghién crus ccc ccc ccc eseeseessecssesseseesesseeseetesseesseeserensees 12 CHUONG 2: CACH CAI ĐẶT SQLITE TRÊN WINDOWS 13
2.2 Sử dụng SGLite Administrafor: 0 He 16 CHƯƠNG 3: CÁC THÀNH PHẢN CHÍNH CỦA SQLITE - 18
3.1 Database (Cơ sở dữ liệu): - - Q2 0112111211112 11121 1122111211110 1 11g tà 18
3.2 Table (Bang) # 00.0.0.0.0c0ccccccccceccessecscsessessesssesesecscscstssessessseciestsvssitesiseeseeees 18
K9.) 0 ZẮẲẮẦỀẮẶ 18
3.5 Primary Key (Khóa chính): - 0 Q2 2211112111111 2111115111115 11 1k nhe nhưey 18 N6 0(9:15aadđđầđiđađađdaitditddddỔẢẦẢ 18 3.7 Comstraints (Ramg Dude) 2.0.0.0 ccc ccccccccccecnecnecensestsesseseseesseeeeenectseeeeteeees 18 (| 01(4‹1aiẢ 19
3.1 Pragma: 002212 H12 TH TH ng Hàng nh gu 19
CHƯƠNG 4: CÁC KIEU DU LIEU CUA SQLITE 20
4.1 Cac lép leu trir (Storage Classes ) kiểu dữ liệu: - Sàn e2 20 4.2 Kiểu ly ludn ( Boolean Datatype) $ 0.000000ccccccccccccscccsesseeseesseeessesseeseeseees 22
4
Trang 6
5.1 Toán tử số học: - 5s S2 222112112111 121 1 2121110112121 ru 5.2 Toán tử so sánh: - Q.1 121112211111 1111111111 111 1611111111111 KH ng khen
5.3, | 'ỞSốia
5.4 Toán tử BI(wIse: 0000 n nh 22121 x na 1 Backup: 2 2n n1 HH1 H111 1111111111111 1911 1n 1kg kg kh 277 Phawong pled Chi an e
6.1.2 Phương pháp tải và lưu cơ sở dữ liệu trong bộ nhớ:
6.1.3 Phương pháp sao lưu trực tuyến cơ sở dữ liệu đang chạy:
BL Creates
PT) 4Ö
8.3 Alter aố ẽ
LẦN UA 5 ố ẽ
`!" =1 1 ằốằẼŠằ ằ.ằẼ.ẼằỀ5
Ö)' Ăn
23
23
23
23
24
26
26
26
26
26
26
28
28
28
29
29
30
30
31
32
32
34
Trang 7` re NT.) 02 ốẽ+a a.1ÄA .Ẽ.Ẽ LÀN), aỶẢỶÓẢ
Trang 8DANH MUC HINH ANH
Hình 2 1 Minh họa cho Bước 2 cach cai dat SQLite trén Window 13
Hình 2 2 Minh họa cho Bước 4.1 cach cai dat SQLite trên WIndow 14
Hình 2 3 Minh họa cho Bước 4.2 cach cai dat SQLite trên WIndow 14
Hình 2 4 Minh họa cho Bước 4.3 cach cai dat SQLite trên WIndow 15
Hình 2 5 Minh họa về Bước 4.4 cách cài đặt SQLite trén WIindow 15
Hình 2 6 Minh họa về Bước 4.4 cách cài đặt SQLite trén WIindow 16
Hình 2 7 Minh họa về Bước 5 cách cài đặt SQLite trên Window -ccccccccc l6
Hình 2 8 Minh họa về sử dụng SQLIte Administrafor 5c 22c 22222222 17 Hình 16 1 Ảnh chụp màn hình của ứng dụng đang hoạt động - 2 2+: 49 Hình 16 2 Ảnh chụp màn hình của ứng dụng đang hoạt động - 2 s+sccse: 50
Trang 9DANH MUC BANG
Bảng 4 1 Các lớp lưu trữ(Storaee ClasSe§) - c2 2v n2 HH2 1111112 rưu 20
Trang 10LOI MO DAU
Trong thế giới ngày nay, khi sự phát triên của công nghệ thông tin đang diễn ra với tốc
độ chóng mặt, việc quản lý và lưu trữ đữ liệu đóng vai trò cực ky quan trọng Trong môi trường nảy, SQLite nôi lên như một công cụ cơ sở đữ liệu phô biến và linh hoạt,
mang lại giải pháp lưu trữ đữ liệu hiệu quả cho nhiều ứng dụng khác nhau SQLite
không chỉ là một hệ quản trị cơ sở đữ liệu phô biến được sử dụng rộng rãi trong các ứng dụng di động, trình duyệt web và ứng dụng máy tính cá nhân, mà còn là một công
cụ mạnh mẽ và đa năng được các nhà phát triển ưa chuộng với tính đơn giản, nhẹ nhàng và linh hoạt của nó Trong bối cảnh này, việc hiểu r6 vé SQLite va cach su dung
nó có thê mang lại nhiều lợi ích cho các nhà phát triển phần mềm và các chuyên gia
trong lĩnh vực công nghệ thông tin Trên hảnh trình khám phá về SQLite, chúng ta sẽ
đi sâu vào kiến thức về câu trúc của nó, các tính năng quan trọng, và các ứng dụng thực tiễn của nó trong việc phát triển phần mềm và quản lý dữ liệu Hãy cùng nhau khám phá và tìm hiểu về SQLite, một công cụ không thể thiếu trong thế giới số hóa ngày nay
Kết câu bài báo cáo ôm các phan:
-_ Chương 1.Giới thiệu về SQLite
- Chuong 2 Cach cai dat SQLite trén Windows
- Chvong 3 Cac thanh phan chinh cua SQLite
-_ Chương 4 Các kiểu dữ liệu cua SQLite
- Chuong 5 Cac toan tu cua SQLite
- Chuong 6 Backup va Restore
- Chương 7 Các thao tác dữ liệu đến CSDL
-_ Chương 8 Các thao tac dit liệu đến Table
-_ Chương 9 Truy vấn dữ liệu
Chương 10 View
- Chuong 11.Trigger
- Chuong 12:Transactions
- Chuong 13:Indexes
- Chuong 14: DEMO thu hanh co ban vé SQLite trén SQLiteStudio
- Chương 15 Các luu y khi su dung SQLite thye hanh SQL
9
Trang 11-_ Chương 16.Ứng dụng của SQLite
Trang 12CHUONG 1: GIOI THIEU VE DEVSECOPS
1.1 Giới thigu chung vé SQ Lite:
- Trong cuộc hành trình của sự phát triển công nghệ, SQLite không chỉ là một hệ thống quản lý cơ sở dữ liệu, mà còn là một biểu tượng của sự linh hoạt và sức mạnh trong thế giới kỹ thuật số hiện đại Ra đời vào năm 2000, SQLite la san pham cua
Dwayne Richard Hipp, mét ky su phan mém tai General Dynamics Voi str ménh tao
ra một cơ sở dữ liệu mã nguồn mở nhẹ và dễ sử dụng, ông Hipp da phat trién SQLite như một công cụ linh hoạt cho các nhà phat triển phần mềm
-_ SQLite không giống như những hệ thống quản lý cơ sở đữ liệu truyền thống, cần một máy chủ riêng biệt để triển khai Thay vào đó, nó được thiết kế đề là một thư viện mã nguồn mở, cho phép tích hợp đễ dàng vào các ứng dụng mà không cần tài nguyên hệ thống lớn Sự ra đời của SQLite đã mở ra một cánh cửa mới cho việc quản lý dữ liệu trong các ứng dụng đi động, máy tính cá nhân và các hệ thống nhúng, đồng thời trở thành một trong những công cụ quan trọng nhất trong hệ sinh thái phần mềm mã nguồn mở
- Việc quản ly đữ liệu trở thành một yếu tổ không thé phủ nhận Đặc biệt, với sự bùng
nỗ của ứng dụng di động, các dự án cá nhân và các hệ thông nhúng, nhu cầu về một
cơ sở dữ liệu linh hoạt, mạnh mẽ và hiệu quả trở nên cấp thiết Trong cảnh này, SQLite nổi lên như một biéu tượng của sự linh hoạt và sức mạnh trong thế giới kỹ
thuật số hiện đại
1.2 Nhận định chung:
- SQLite không chỉ đơn thuần là một hệ thống quản lý cơ sở đữ liệu, mà nó còn là một biểu tượng của sự linh hoạt và sức mạnh Với thiết kế nhẹ nhàng và tích hợp dễ đàng, SQLite không yêu cầu một máy chủ riêng biệt, tiết kiệm chi phí và thời gian cho các
dự án phát triển Bên cạnh đó, giao diện SQL, của nó mang lại sự tiện lợi cho các nhà
phát triển, trong khi việc tuân thủ giao thức ACID giữ cho dữ liệu luôn được bảo vệ
va an toàn
-_ Tuy nhiên, điểm yếu của SQLite cũng là điểm mạnh của nó Vì không yêu cầu một máy chủ riêng, SQLite có thê gặp khó khăn khi xử lý các tập đữ liệu lớn hoặc trong các môi trường đa người dùng Điều này có thể dẫn đến sự giảm hiệu suất trong các ứng dụng yêu cầu đồng thời nhiều truy cập và cập nhật dữ liệu
11
Trang 13Một trong những ưu điểm của SQLite là sự linh hoạt trong việc tích hợp và triển khai Với khả năng nhúng vào các ứng dụng một cách dễ dàng và giao diện SQL đầy đủ, SQLite trở thành lựa chọn hàng đầu cho các dự án cần sự linh hoạt và tiện ích
1.3 Đối tượng nghiên cứu:
SQLite là lựa chọn lý tưởng cho các nhà phát triển và những người muốn triên khai
các ứng dụng có yêu câu dữ liệu nhỏ đến trung bình và không đòi hỏi một hệ thống
cơ sở đữ liệu phức tạp Cụ thể:
1.3.1
1.3.2
1.3.3
Ung dung di dong:
SQLite thích hợp cho việc phát triển ứng dụng di động trên cả nền tang iOS va Android Với kích thước nhỏ, hiệu suất tốt và khả năng nhúng đễ đàng vào ứng dụng, SQLite là một giải pháp phô biến cho việc lưu trữ và quản lý đữ liệu trên các thiết bị di động
Ung dụng máy tính cú nhân:
Đối với các ứng dụng máy tính cá nhân như ứng dụng desktop, phần mềm quản
lý đữ liệu cá nhân, SQLite là một lựa chọn thuận tiện Với khả năng lưu trữ dữ liệu đơn giản và không đòi hỏi cấu hình phức tạp, SQLite giúp giảm bớt gánh nặng về quản lý cơ sở đữ liệu cho các ứng dụng cá nhân
Ứng dụng nhúng:
SQLite cung cấp tính linh hoạt và đễ dàng tích hợp vào các thiết bị nhúng như máy tính nhúng, thiết bị loT (Internet of Things) và các ứng dụng nhúng khác Với kích thước nhỏ, khả năng tương thích đa nền tảng và tiêu thụ ít tài nguyên, SQLite là một lựa chọn phù hợp cho việc lưu trữ và quản lý dữ liệu trên các thiết
bị có tài nguyên hạn chế
Tóm lại, SQLite là một giải pháp linh hoạt và đa dạng, phù hợp cho các tình huống đòi hỏi lưu trữ và quản lý đữ liệu nhỏ đến trung bình, đặc biệt là trong lĩnh vực dị động, máy
tính cá nhân và nhúng Tuy nhiên, khi đối mặt với các yêu cầu về xử lý tập đữ liệu lớn
hoặc cần tích hợp với hệ thống cơ sở đữ liệu phức tạp, các giải pháp RDBMS phân tán có thê được ưu tiên hơn
Trang 14CHUONG 2: CACH CAI DAT SQLITE TREN WINDOWS
2.1.Cai dat SQLite:
- Buéc 1: Truy cập trang https://www.sqlite.ore/download.html
- Bước 2:Tim va download 2 file nén: sqlite-shell-win32-*.zip và sqlite-dll- win32-
* zip
Hình 2 L Minh họa cho Bước 2 cách cài đặt SQLite trên Window
-_ Bước 3:Giải nén 2 file vừa download được: Đề đễ quản lý (không bắt buộc), bạn nên tạo folder với tên sqlite trong cùng folder với eclipse và SDK, rồi giải nén 2 file vào đó Kết quả
sẽ thu được 3 file sqlite3.def, sqlite3.dll và sqlite3.exe Copy đường dẫn đề sử dụng cho bước kế tiếp
Bước 4: Thêm đường dẫn vào biến môi trường PATH của Windows:
+ Bước 4.1: Rieht Click vào icon cua Computer trén desktop, chon Properties
13
Trang 15Hình 2 2 Minh họa cho Bước 4.1 cach cai đặt SQLite trén Window
+ Bước 4.2: Trong hộp thoại System, chon Advanced system settings
Hình 2 3 Minh họa cho Bước 4.2 cach cai dat SQLite trén Window
+ Bước 4.3: Trong hộp thoai System Properties, chon tab Advanced, chon button Environment Variables dé mo tiép hộp thoai Environment Variables
Trang 16Hình 2 4 Minh họa cho Bước 4.3 cach cai dat SQLite trén Window
+ Bude 4.4: Trong hép thoai Environment Variables, trong vung System variables, tim va chon bién Path, xong click button Edit để mở hộp thoại Edit Environment Variables
Hình 2 5 Minh họa về Bước 4.4 cách cài đặt SQLite trén Window
15
Trang 17Hình 2 6 Minh họa về Bước 4.4 cách cài đặt SQLite trén Window
-_ Bước 5: Kiểm tra kết quả thực hiện: mở cửa số cmd của Windows, gõ lệnh sqlite3 sẽ xuất hiện kết quả như hình minh họa:
Hình 2 7 Minh họa về Bước 5 cách cài đặt SQLite trên Window
2.2 Sw dung SQLite Administrator:
Có thể sử dụng lệnh SQLite trong cửa số command của Windows Tuy nhiên, bạn
nén ding céng cu SQLite Administrator(download
http://download.orbmu2k.de/files/sqliteadmin.zip) Sau khi download hoan tat, giai nén vào | folder nao dé Tim va chay (double click) file sqliteadmin.exe dé thay cura
SỐ Sau:
Trang 18Hình 2 6 Minh họa VỀ sử dung SQLite Administrator
17
Trang 19CHUONG 3: CAC THANH PHAN CHINH CUA SQLITE
3.1 Database (Cơ sở dữ liệu):
Database trong SQLite duoc biéu dién bằng một tệp đơn lẻ trên hệ thông tệp của hệ điều hành Mỗi tệp đó là một cơ sở dữ liệu, chứa tất cả các đối tượng đữ liệu như bang, chi muc, triggers, v.v
3.2 Table (Bang):
Bảng là một thành phần quan trọng trong SQLite Mỗi bảng đại điện cho một tập hợp các dữ liệu có cấu trúc Mỗi bảng chứa các hàng và các cột Mỗi hàng đại diện cho một bản phi, trong khi mỗi cột đại diện cho một loại dữ liệu cụ thể
3.3 Column (Cột):
Mỗi cột trong một bảng đại diện cho một thuộc tính hoặc một loại dữ liệu cụ thể Cột xác định các trường thông tín trong bảng và mỗi giá trị trong cột tương ứng với một ô trong bảng
3.4 Row (Hang):
Mỗi hàng trong bảng đại diện cho một ban ghi cy thé trong cơ sở đữ liệu Mỗi hàng bao gồm các giá trị tương ứng với mỗi cột trong bảng
3.5 Primary Key (Khóa chính):
Khóa chính là một hoặc nhiều cột trong bảng được sử dụng để duy nhất xác định mỗi bản phí trong bảng Khóa chính đảm bảo rằng mỗi hàng trong bảng là duy nhất và
không thể trùng lặp
3.6 Indexes (Chỉ mục):
Là bảng tra cứu đặc biệt mà Database Search Engine có thể sử dụng đề tăng nhanh
thoi gian va hiệu suất thu thập dữ liệu Hiểu đơn giản, một chỉ mục là một con trỏ tới
dữ liệu trong một bảng Một chỉ mục trong một Database là tương tự như một chỉ mục trong mục lục của cuốn sách
Ví dụ, nếu bạn muốn tham chiếu tất cả các trang trong một cuốn sách về một chủ đề nào đó, đầu tiên bạn nghĩ ngay đến mục lục của nó, mà liệt kê tất cả các chương, chủ
đề theo thứ tự và sau đó được tham chiếu tới một hoặc nhiều trang cụ thê
3.7 Constraim(s (Ràng buộc):
Là các qui tắc bắt buộc cho các cột dữ liệu trong bảng Chúng được sử dụng để giới
hạn kiêu dữ liệu mà có thế nhập vào một bảng Điều này đảm bảo tính chính xác và
tính đáng tin cậy cho dữ liệu trong Database Rảng buộc (Constraint) có thê là ở cấp
Trang 20đệ cột (column level) hoac cap độ bảng (table level) Rang budc cap d6 cét chi duoc
áp dụng cho một cột, trong khi ràng buộc cấp độ bảng được áp dụng cho cả bảng 3.8 Trigøers (Kích hoạt):
Tripper là một loại đối tuong trong SQLite duoc su dung để tự động kích hoạt một hành động khi một sự kiện xảy ra trong cơ sở đữ liệu Ví dụ, bạn có thể sử dụng trigger để tự động thêm một bản phi vào một bảng phụ khi một bản ghi được thêm
vào bảng chính
3.9 View (Cảnh):
Là một cấu trúc ảo trong SQLite, mô phóng một bảng nhưng không lưu trữ đữ liệu Thay vào đó, nó là một truy vấn được đặt tên được lưu trữ trong cơ sở đữ liệu Khi truy vấn được gol, no sé tra vé két quả dựa trên đữ liệu từ các bang sốc
3.10 Pragma:
Là một lệnh đặc biệt dé điều khiến các biến môi trường và các flag trạng thái đa dạng
bên trong môi trường SQLIte Một giá trị PRAGMA có thê được đọc và nó cũng có thê được thiết lập tùy theo yêu cầu
19
Trang 21CHUONG 4: CAC KIEU DU LIEU CUA SQLITE
4.1 Cac lép lwu trir (Storage Classes ) kiéu dữ liệu:
Mỗi giá trị được lưu trữ trong CSDL của SQLite đều phải thuộc 1 trong những lớp
Gia tri la mét gia tri NULL
Giá trị là số nguyên (đương và âm) Kích thước của chúng có thé khác nhau: 1, 2, 3, 4, 6, hoặc 8 byte tùy thuộc vào độ lớn của gia trị Phạm vi số nguyên tối đa (8 byte) là
{-9223372036854775808,-1,0,1, 9223372036854775807}
Giá trị số thực dấu chấm động, được lưu trữ trone 8-byte
Là chuỗi ký tự,được lưu trữ bởi sử dụng Encodins của cơ sở dữ
liệu (UTF-8§, UTE-16BE hoặc ƯTF-16LE)
Giá trị là 1 cả 1 khối (blob) của dữ liệu, sẽ được lưu trữ theo cả
khối
Bang 4 1 Cac lop liu triv(Storage Classes)
Lớp lưu trữ trone SQLite là khá chung chung so với một kiểu dữ liệu Ví dụ, lớp lưu
trữ INTEGER gồm 6 kiểu đữ liệu số nguyên khác nhau có độ dài khác nhau
- Affinity Type trong SQLite:
SQLite hé tro khai niém Affinity Type trén cac cét Bat cứ cột nào có thể vẫn lưu giữ bat ky kiểu đữ liệu nào nhưng lớp lưu trữ ưu tiên cho một cột được gọi là Affinity của nó Mỗi cột trong bảng trong một SQLite3 Database được gán một trong các Affinity Type sau:
Trang 22Affinity Miéu ta
TEXT Cột này lưu giữ tất cả đữ liệu sử dụng các lớp lưu trữ NULL, TEXT
hoặc BLOB
NUMERIC_ Cột nảy có thể chứa các giá trị sử dụng tất cả 5 lớp lưu trữ
INTEGER Vận hành giống như một cột với NUMIERIC affintty với một ngoại lệ
trong một biểu thức CAST
REAL Vận hành giống như một cột với NUMERIC affinity, ngoại trừ rằng nó
ép các giá trị nguyên thành dạng biếu diễn số thực dấu chấm động
NONE Một cột với NONE affinity không ưu tiên một lớp lưu trữ nào khi so
với lớp khác và không ép đữ liệu từ một lớp lưu trữ nay sang dạng một
lớp lưu trữ khác
Bang 4 2 Affinity Type
- Tén kiéu dé liu va Affinity trong SQLite:
Bảng dưới đây liệt kê tên các kiểu đữ liệu đa dạng có thê được sử dụng trong khi tạo các bảng dữ liệu trong SQLite3 vả tên Afñnity tương ứng có thể được áp dụng:
Kiểu đữ liệu Affinity
21
Trang 23- INT - INTEGER - TINYINT - SMALLINT - MEDIUMINT - INTEGER BIGINT - UNSIGNED BIG INT - INT2 - INT8
- CHARACTER(20) - VARCHAR(255) - VARYING TEXT CHARACTER(255) - NCHAR(55) - NATIVE CHARACTER(70) -
NVARCHAR(100) - TEXT - CLOB
- BLOB - Không có kiểu dữ liệu nào được xác định NONE
- REAL - DOUBLE - DOUBLE PRECISION - FLOAT REAL
- NUMERIC - DECIMAL(10,5) - BOOLEAN - DATE - DATETIME NUMERIC
Bảng 4 3 Tên kiểu dit liéu va Affinity trong SQLite
4.2 Kiểu ly ludn ( Boolean Datatype) :
SQLite không hỗ trợ lớp lưu trữ Boolean riêng rẽ Thay vào đó, các gid tri Boolean được lưu trữ dưới dạng các số nguyên: 0 cho false va 1 cho true
4.3 Kiéu ngay va gid (Date and Time Datatype) :
SQLite không có một lớp lưu trữ riêng rẽ dé lưu trữ date/time, những SQLite có thé lưu giữ date/trme dưới dạng các giá trị TEXT, REAL hoặc INTEGER
Lớp lưu trữ Định dạng
TEXT Ngày được định dạng theo dang thức "YYYY-MM-DD
HH:MM:SS.SSS"
REAL Số ngày tính từ 24 November 24 năm 4714 trước Công Nguyên
INTEGER Số lượng thời gian tinh tir 1970-01-01 00:00:00 UTC
Bang 4 4 Kiéu ngay va gio Bạn có thê chọn kiểu ngày/giờ bất kỳ trong các định dạng trên Khi sử dụng SQLite
sẽ cung cấp 1 số hàm giúp chuyên đổi giữa các định dạng
Trang 24CHUONG 5: CAC TOAN TU CUA SQLITE
Các toán tử của SQLite được sử dụng chủ yếu trong mệnh đề WHERE để xử lý các điều kiện, truy vấn một cách hiệu quả Toán tir cua SQLite bao gồm:
> So sánh nếu không lớn hơn
1< So sánh nếu không bé hơn
Bang 5 2 Toán tử so sảnh
5.3 Toán tử logic:
23
Trang 25Lấy các đữ liệu thỏa mãn đồng thời các điều kiện
Lấy các dữ liệu thỏa mãn | hoặc nhiều điều kiện
Lấy các đữ liệu ngược lại với điều kiện
Lấy các dữ liệu có giá trị thuộc danh sách được liên kết
Lấy các dữ liệu có giá trị không thuộc danh sách được liên kết
Hoạt động như toán tử =
Hoạt động như toán tử l=
So sánh 1 giá trị với p1á trị NULL
So sánh p1á trị bằng các toán tử ký tự đại diện, không phân biệt hoa/thường
So sánh giá trị bằng các toán tử ký tự đại diện, phân biệt hoa/thường
Lấy các giá trị nằm tron khoảng từ min đến max
Lấy các đữ liệu có hàng thuộc bảng đã cho thỏa mãn điều kiện
nhất định
Cộng 2 chuỗi khác nhau để tạo 1 chuỗi mới
Lấy những hàng không trùng lặp (duy nhất) trong bảng Bảng 5 3 Toán tử logic
Trang 26Toan M6 ta
tử
& Toán tử nhị phân và giữa 2 bịt piá trị
| Toán tử nhị phân hoặc giữa 2 bịt p1á trị
~ Toán tử đảo bit, sau toán tử bịt 1 thành bit 0 va bit 0 thành bít 1
>> Toán tử dịch bít phải, dịch phải các bít theo số lần được chỉ ra sau toán tử
<< Toán tử dịch bít trái, dịch trái các bít theo số lần được chỉ ra sau toán tử
Trang 27CHUONG 6: BACKUP VA RESTORE
Bước 3: Từ bỏ khóa chia sẻ trên tệp cơ sở dữ liệu thu được 6 bude 1
6.1.2 Phương pháp tải và luu cơ sở dữ liệu trong bộ nhớ:
Bước I: Sử dung ham sqlite3 backup ¡nit(Q) để tạo đối tượng sqlite3 backup nhằm sao chép dữ liệu giữa hai cơ sở dữ liệu (từ một tệp và vào cơ sở dữ liệu trong bộ nhớ hoặc ngược lại)
Bước 2: Sử dụng hàm sqlite3 _backup_step() với tham số -I dé sao chép toàn bộ
cơ sở dữ liệu nguồn sang đích
Bước 3: Sử dụng hàm sqlite3 backup_finish() để dọn sạch các tài nguyên được phân bô bởi sqlite3_backup_init()
6.1.3 Phương pháp sao lưu trực tuyến cơ sở dữ liệu đang chạy:
Bước I: Sử dung ham sqlite3 backup ¡nit(Q) để tạo đối tượng sqlite3 backup nhằm sao chép đữ liệu từ cơ sở đữ liệu pDb sang tệp cơ sở dữ liệu sao lưu được xác định bởi zFIlename
Bước 2: Sử dụng hàm sqlite3 backup_step() với tham số 5 để sao chép 5 trang
cơ sở đữ liệu pDb vào cơ sở đữ liệu sao lưu (tệp zFilename)
Bước 3: Nếu vẫn còn nhiều trang để sao chép từ cơ sở đữ liệu pDb thì hàm sẽ ngủ trong 250 mili giây (sử dụng tiện ích sqlite3_ sleep() ) rồi quay lại bước 2 Bước 4: Sử dụng hàm sqlite3 backup_ñinish() để dọn sạch các tài nguyên được phân bô bởi sqlite3_backup_init()