DB Browser for SQLite là gì? Hướng dẫn sử dụng đầy đủ cho người mới
DB Browser for SQLite, thường được gọi tắt là DB4S, là một phần mềm giao diện đồ họa giúp người dùng tạo, mở, xem, chỉnh sửa và quản lý database SQLite mà không cần phải thực hiện mọi thao tác bằng dòng lệnh.
Thay vì phải sử dụng SQLite CLI hoặc tự viết chương trình để kiểm tra dữ liệu, DB Browser for SQLite cho phép chúng ta mở trực tiếp các file như .db, .sqlite hoặc .sqlite3, sau đó xem bảng, chỉnh sửa dữ liệu, tạo index, thực thi câu lệnh SQL, import/export dữ liệu và thực hiện nhiều tác vụ quản trị khác thông qua giao diện trực quan.
Phần mềm đặc biệt hữu ích đối với sinh viên, lập trình viên, kỹ thuật viên và những người mới bắt đầu làm việc với SQLite.
Trong bài viết này, chúng ta sẽ tìm hiểu các tính năng quan trọng của DB Browser for SQLite, cách sử dụng từng chức năng và những lưu ý cần biết để tránh làm mất hoặc hỏng dữ liệu.
Mục lục
- DB Browser for SQLite là gì?
- DB Browser for SQLite dùng để làm gì?
- Tải và cài đặt DB Browser for SQLite
- Các thành phần chính trên giao diện
- Cách mở một database SQLite
- Cách tạo database SQLite mới
- Database Structure – quản lý cấu trúc database
- Cách tạo table
- Cách chỉnh sửa cấu trúc table
- Tạo và quản lý Index
- Browse Data – xem và chỉnh sửa dữ liệu
- Tìm kiếm, lọc và sắp xếp dữ liệu
- Write Changes và Revert Changes
- Execute SQL – chạy câu lệnh SQL
- Làm việc với View
- Edit Pragmas và cấu hình SQLite
- Import dữ liệu từ CSV
- Export dữ liệu
- Backup bằng SQL Dump
- Attach Database
- SQL Log
- Plot – tạo biểu đồ từ dữ liệu
- Project File
- Compact Database và VACUUM
- Kiểm tra tính toàn vẹn database
- Mở database ở chế độ Read-only
- Database mã hóa và SQLCipher
- Những lưu ý quan trọng khi sử dụng
- Quy trình sử dụng an toàn cho người mới
- Câu hỏi thường gặp
- Kết luận
1. DB Browser for SQLite là gì?
DB Browser for SQLite là một phần mềm mã nguồn mở cung cấp giao diện đồ họa để làm việc với database SQLite.
Có thể hình dung như sau:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
SQLite Database │ ▼ DB Browser for SQLite │ ├── Xem cấu trúc ├── Xem dữ liệu ├── Thêm / sửa / xóa dữ liệu ├── Chạy SQL ├── Import / Export ├── Tạo Index └── Kiểm tra database |
DB Browser for SQLite không phải là một Database Server.
Nó là công cụ giúp chúng ta thao tác trực tiếp với file SQLite thông qua giao diện trực quan.
Ví dụ, nếu một ứng dụng sử dụng file:
|
1 |
data.db |
chúng ta có thể mở file đó bằng DB Browser for SQLite và xem toàn bộ cấu trúc cùng dữ liệu bên trong.
2. DB Browser for SQLite dùng để làm gì?
DB Browser for SQLite hỗ trợ hầu hết những thao tác thường gặp khi làm việc với SQLite.
Các chức năng chính gồm:
- Tạo database SQLite mới.
- Mở database SQLite có sẵn.
- Tạo table.
- Chỉnh sửa cấu trúc table.
- Xóa table.
- Tạo và quản lý index.
- Xem dữ liệu theo dạng bảng.
- Thêm bản ghi.
- Chỉnh sửa bản ghi.
- Xóa bản ghi.
- Tìm kiếm và lọc dữ liệu.
- Sắp xếp dữ liệu theo một hoặc nhiều cột.
- Thực thi câu lệnh SQL.
- Xem kết quả truy vấn.
- Import CSV.
- Export CSV.
- Import và export SQL Dump.
- Xem SQL Log.
- Tạo biểu đồ đơn giản từ dữ liệu.
- Kiểm tra tính toàn vẹn của database.
- Compact database.
- Làm việc với database mã hóa bằng SQLCipher khi sử dụng phiên bản hỗ trợ.
Đối với người mới, ba khu vực được sử dụng nhiều nhất là:
|
1 2 3 |
Database Structure Browse Data Execute SQL |
3. Tải và cài đặt DB Browser for SQLite
DB Browser for SQLite có phiên bản dành cho nhiều hệ điều hành, bao gồm Windows, macOS và Linux.
Website chính thức:
Trang tải chính thức:
Windows
Trên Windows, người dùng có thể lựa chọn:
- Bản cài đặt thông thường.
- Bản ZIP không cần cài đặt.
- PortableApp.
- Bản ARM64 trên thiết bị Windows ARM được hỗ trợ.
Đối với phần lớn người dùng Windows 64-bit, bản installer 64-bit là lựa chọn đơn giản nhất.
macOS
DB Browser for SQLite có bản dành cho macOS và cũng có thể cài thông qua Homebrew.
|
1 |
brew install --cask db-browser-for-sqlite |
Linux
Trên Linux có thể sử dụng AppImage hoặc package tương ứng với distribution.
Ví dụ trên Debian hoặc Ubuntu:
|
1 |
sudo apt-get install sqlitebrowser |
Trên Fedora:
|
1 |
sudo dnf install sqlitebrowser |
4. Các thành phần chính trên giao diện
Sau khi mở một database, giao diện DB Browser for SQLite thường tập trung vào một số tab chính.
| Tab | Chức năng |
|---|---|
| Database Structure | Xem và chỉnh sửa cấu trúc table, index, view và trigger |
| Browse Data | Xem, thêm, sửa, xóa và tìm kiếm dữ liệu |
| Edit Pragmas | Xem hoặc thay đổi một số cấu hình của SQLite |
| Execute SQL | Viết và thực thi câu lệnh SQL |
Ngoài ra còn có các khu vực hỗ trợ như:
- DB Schema.
- SQL Log.
- Plot.
- Remote hoặc các thành phần bổ sung tùy phiên bản.
5. Cách mở một database SQLite
Để mở database có sẵn:
- Khởi động DB Browser for SQLite.
- Chọn Open Database.
- Chọn file database.
- Nhấn Open.
Các file thường gặp gồm:
|
1 2 3 4 5 |
data.db database.db app.sqlite data.sqlite3 sample.db3 |
Phần mở rộng của file không quyết định tuyệt đối việc file đó có phải SQLite hay không. SQLite nhận dạng database dựa trên định dạng nội dung của file.
Sau khi mở thành công, tab Database Structure sẽ hiển thị các table và object có trong database.
6. Cách tạo database SQLite mới
Để tạo database mới:
- Chọn File → New Database hoặc nút New Database.
- Chọn vị trí lưu.
- Nhập tên file, ví dụ
sample.db. - Nhấn Save.
DB Browser sẽ hỏi bạn có muốn tạo table đầu tiên hay không.
Ví dụ chúng ta muốn tạo table:
|
1 |
Product |
với các trường:
| Field | Type | Ý nghĩa |
|---|---|---|
| id | INTEGER | ID |
| name | TEXT | Tên sản phẩm |
| price | REAL | Giá |
| quantity | INTEGER | Số lượng |
7. Database Structure – quản lý cấu trúc database
Tab Database Structure cho phép xem cấu trúc của database.
Thông thường chúng ta có thể thấy các nhóm:
- Tables.
- Indexes.
- Views.
- Triggers.
Đây là nơi phù hợp để kiểm tra nhanh:
- Database có những table nào.
- Mỗi table có những field nào.
- Primary Key nằm ở đâu.
- Kiểu dữ liệu của từng field.
- Default Value.
- Foreign Key.
- Index.
Ví dụ:
|
1 2 3 4 5 6 |
Product │ ├── id INTEGER ├── name TEXT ├── price REAL └── quantity INTEGER |
DB Browser cũng cho phép xem câu lệnh SQL dùng để tạo object.
Ví dụ:
|
1 2 3 4 5 6 7 |
CREATE TABLE Product ( id INTEGER PRIMARY KEY, name TEXT, price REAL, quantity INTEGER ); |
8. Cách tạo Table
Trong tab Database Structure, chọn:
|
1 |
Create Table |
Sau đó nhập tên table và khai báo từng field.
Ví dụ:
|
1 |
Customer |
với cấu trúc:
| Name | Type | PK | NN |
|---|---|---|---|
| id | INTEGER | Có | Có |
| name | TEXT | Không | Có |
| phone | TEXT | Không | Không |
| createdAt | TEXT | Không | Không |
Một số tùy chọn thường gặp:
- PK – Primary Key: khóa chính.
- NN – Not Null: không cho phép giá trị NULL.
- U – Unique: giá trị không được trùng.
- AI – Auto Increment: tự tăng.
- Default: giá trị mặc định.
Kiểu dữ liệu SQLite thường gặp
| Kiểu | Dùng cho |
|---|---|
| INTEGER | Số nguyên, ID, trạng thái dạng số |
| REAL | Số thực |
| TEXT | Chuỗi, ngày tháng dạng text, JSON |
| BLOB | Dữ liệu binary |
| NULL | Không có giá trị |
SQLite có hệ thống kiểu dữ liệu linh hoạt hơn nhiều hệ quản trị cơ sở dữ liệu khác. Người mới không nên giả định rằng khai báo một cột có kiểu dữ liệu sẽ luôn tạo ra quy tắc kiểm tra nghiêm ngặt giống SQL Server hoặc PostgreSQL.
9. Cách chỉnh sửa cấu trúc Table
Trong Database Structure:
- Chọn table.
- Nhấn chuột phải.
- Chọn Modify Table.
Tại đây có thể:
- Thêm field.
- Đổi tên field.
- Thay đổi kiểu dữ liệu.
- Thay đổi constraint.
- Thêm Foreign Key.
- Thay đổi Default Value.
Lưu ý: thay đổi cấu trúc table là thao tác có khả năng ảnh hưởng tới toàn bộ dữ liệu. Nên tạo một bản backup trước khi thay đổi cấu trúc của database quan trọng.
10. Tạo và quản lý Index
Index giúp tăng tốc các truy vấn tìm kiếm trên những cột thường được sử dụng trong điều kiện WHERE, JOIN hoặc ORDER BY.
Ví dụ thường xuyên truy vấn:
|
1 2 3 |
SELECT * FROM Customer WHERE phone = '0123456789'; |
Có thể tạo index:
|
1 2 |
CREATE INDEX idx_customer_phone ON Customer(phone); |
Trong DB Browser có thể tạo index thông qua giao diện mà không cần tự viết câu SQL.
Tuy nhiên không nên tạo index cho mọi cột.
Quá nhiều index có thể:
- Tăng kích thước database.
- Làm chậm INSERT.
- Làm chậm UPDATE.
- Làm chậm DELETE.
11. Browse Data – xem và chỉnh sửa dữ liệu
Browse Data là tab được sử dụng nhiều nhất khi kiểm tra database.
Tại đây dữ liệu được hiển thị tương tự một bảng tính.
Ví dụ:
| id | name | price | quantity |
|---|---|---|---|
| 1 | Keyboard | 350000 | 10 |
| 2 | Mouse | 250000 | 20 |
| 3 | Monitor | 3500000 | 5 |
Chọn table cần xem trong danh sách Table.
Trong Browse Data có thể:
- Xem dữ liệu.
- Chỉnh sửa trực tiếp một cell.
- Thêm record mới.
- Duplicate record.
- Xóa record.
- Copy dữ liệu.
- Ẩn hoặc hiện cột.
- Freeze cột.
- Sắp xếp.
- Filter dữ liệu.
Thêm một record
Chọn:
|
1 |
New Record |
Sau đó nhập dữ liệu vào các cột.
Chỉnh sửa record
Có thể double-click hoặc chọn cell cần thay đổi rồi nhập giá trị mới.
Xóa record
Chọn dòng cần xóa và sử dụng:
|
1 |
Delete Record |
Việc xóa chưa nhất thiết được ghi ngay xuống database. Cần hiểu cơ chế Write Changes được trình bày ở phần sau.
12. Tìm kiếm, lọc và sắp xếp dữ liệu
Filter
Phía trên mỗi cột trong Browse Data thường có vùng filter.
Ví dụ muốn tìm:
|
1 |
Keyboard |
có thể nhập từ khóa vào filter của cột name.
DB Browser hỗ trợ nhiều cách lọc dữ liệu, giúp kiểm tra database lớn dễ dàng hơn.
Sắp xếp
Click vào tiêu đề cột để sắp xếp dữ liệu.
Ví dụ click:
|
1 |
price |
để sắp xếp theo giá.
DB Browser cũng hỗ trợ sắp xếp theo nhiều cột bằng cách giữ Ctrl trên Windows/Linux hoặc Command trên macOS trong khi chọn thêm cột.
Ẩn cột
Nếu table có quá nhiều field, có thể click chuột phải lên tên cột và chọn:
|
1 |
Hide column |
để tập trung vào những dữ liệu cần xem.
13. Write Changes và Revert Changes – phần rất quan trọng
Đây là một trong những điểm người mới cần hiểu rõ nhất khi sử dụng DB Browser for SQLite.
Khi chỉnh sửa dữ liệu, DB Browser thường mở một transaction và giữ các thay đổi ở trạng thái chưa commit.
Hai nút quan trọng là:
|
1 2 3 |
Write Changes Revert Changes |
Write Changes
Chọn Write Changes khi muốn ghi các thay đổi xuống database.
Ví dụ:
|
1 2 3 4 5 6 7 |
Sửa giá sản phẩm ↓ Dữ liệu hiển thị đã thay đổi ↓ Write Changes ↓ Database được cập nhật |
Revert Changes
Nếu phát hiện chỉnh sửa sai trước khi commit, chọn:
|
1 |
Revert Changes |
DB Browser sẽ rollback những thay đổi đang chờ.
|
1 2 3 4 5 |
Chỉnh sửa sai ↓ Revert Changes ↓ Quay lại dữ liệu trước đó |
Lưu ý: sau khi đã nhấn Write Changes, không nên xem Revert Changes như chức năng Undo để khôi phục dữ liệu đã commit.
14. Execute SQL – chạy câu lệnh SQL
Tab Execute SQL dành cho những người muốn thao tác trực tiếp bằng SQL.
Ví dụ:
|
1 2 |
SELECT * FROM Product; |
Hoặc:
|
1 2 3 4 |
SELECT * FROM Product WHERE price > 1000000 ORDER BY price DESC; |
Execute SQL hỗ trợ:
- Syntax Highlighting.
- SQL Auto Completion.
- Nhiều SQL tab.
- Hiển thị kết quả query.
- Thông báo lỗi SQLite.
- Lưu SQL ra file.
- Mở SQL script.
- Lịch sử một số câu lệnh đã thực thi.
Một shortcut rất hữu ích là:
|
1 |
Ctrl + Enter |
để thực thi câu lệnh SQL.
Ví dụ INSERT
|
1 2 3 4 5 6 7 8 9 10 11 12 |
INSERT INTO Product ( name, price, quantity ) VALUES ( 'Keyboard', 350000, 10 ); |
Ví dụ UPDATE
|
1 2 3 |
UPDATE Product SET price = 400000 WHERE id = 1; |
Ví dụ DELETE
|
1 2 |
DELETE FROM Product WHERE id = 1; |
Đặc biệt cẩn thận với:
|
1 |
DELETE FROM Product; |
Câu lệnh này xóa toàn bộ record trong table.
Tương tự:
|
1 2 |
UPDATE Product SET price = 0; |
sẽ cập nhật toàn bộ record nếu không có điều kiện WHERE.
15. Làm việc với View
SQLite hỗ trợ VIEW và DB Browser cho phép quản lý các View trong Database Structure.
Ví dụ:
|
1 2 3 4 5 6 7 8 9 10 |
CREATE VIEW ExpensiveProduct AS SELECT id, name, price FROM Product WHERE price > 1000000; |
Sau đó có thể query:
|
1 2 |
SELECT * FROM ExpensiveProduct; |
View hữu ích khi một truy vấn được sử dụng thường xuyên hoặc khi muốn cung cấp một cách nhìn đơn giản hơn đối với dữ liệu phức tạp.
16. Edit Pragmas và cấu hình SQLite
PRAGMA là nhóm lệnh đặc biệt của SQLite dùng để truy vấn hoặc thay đổi nhiều cấu hình của database engine.
DB Browser cung cấp tab Edit Pragmas để thao tác với một số thiết lập này bằng giao diện.
Một số PRAGMA thường gặp gồm:
- journal_mode.
- synchronous.
- foreign_keys.
- cache_size.
- page_size.
- auto_vacuum.
Ví dụ:
|
1 |
PRAGMA journal_mode; |
Hoặc:
|
1 |
PRAGMA foreign_keys = ON; |
Người mới không nên thay đổi các PRAGMA nếu chưa hiểu rõ ảnh hưởng của chúng.
Một cấu hình có thể cải thiện hiệu năng cho một ứng dụng nhưng lại làm thay đổi mức độ an toàn dữ liệu hoặc hành vi locking trong trường hợp khác.
17. Import dữ liệu từ CSV
DB Browser hỗ trợ import CSV vào SQLite.
Ví dụ file:
|
1 2 3 4 |
id,name,price 1,Keyboard,350000 2,Mouse,250000 3,Monitor,3500000 |
Để import:
- Chọn File.
- Chọn Import.
- Chọn Table from CSV file.
- Chọn file CSV.
- Kiểm tra preview.
- Chọn separator.
- Kiểm tra tên cột.
- Thực hiện import.
Các separator thường gặp:
|
1 2 3 |
, ; TAB |
Trước khi import dữ liệu lớn, nên kiểm tra:
- Encoding.
- Separator.
- Dòng tiêu đề.
- Kiểu dữ liệu.
- Định dạng ngày tháng.
- Dữ liệu NULL.
18. Export dữ liệu
DB Browser cho phép export dữ liệu sang nhiều dạng khác nhau.
Một trong những định dạng phổ biến nhất là CSV.
Ví dụ:
|
1 2 3 4 5 |
Product table ↓ Export ↓ product.csv |
CSV có thể được mở bằng:
- Microsoft Excel.
- LibreOffice Calc.
- Google Sheets.
- Python.
- R.
- Các công cụ xử lý dữ liệu khác.
DB Browser cũng hỗ trợ xuất dữ liệu hoặc database dưới dạng SQL.
19. Backup bằng SQL Dump
Ngoài việc copy trực tiếp file .db, có thể export database thành SQL Dump.
Ví dụ:
|
1 2 3 4 5 |
data.db ↓ Export SQL ↓ backup.sql |
File SQL có thể chứa các câu lệnh như:
|
1 2 3 4 5 |
CREATE TABLE Product (...); INSERT INTO Product VALUES (...); INSERT INTO Product VALUES (...); |
SQL Dump hữu ích khi:
- Cần xem nội dung backup bằng text.
- Cần lưu schema.
- Cần chuyển dữ liệu bằng SQL.
- Cần quản lý dữ liệu ở dạng script.
Tuy nhiên đối với một database SQLite thông thường đã được đóng hoàn toàn, copy file database vẫn là một phương pháp backup rất đơn giản.
20. Attach Database
SQLite cho phép attach thêm database vào connection hiện tại.
Ví dụ có:
|
1 2 |
database1.db database2.db |
có thể sử dụng:
|
1 2 |
ATTACH DATABASE 'database2.db' AS database2; |
Sau đó có thể truy vấn dữ liệu giữa các database.
Ví dụ:
|
1 2 |
SELECT * FROM database2.Product; |
DB Browser cung cấp chức năng attach database thông qua giao diện, hữu ích khi cần kiểm tra hoặc chuyển dữ liệu giữa nhiều database SQLite.
21. SQL Log
DB Browser có thể hiển thị SQL Log, giúp người dùng xem những câu lệnh SQL mà chương trình thực hiện.
Đây là một chức năng hữu ích cho người đang học SQL.
Ví dụ khi chỉnh sửa dữ liệu thông qua giao diện, SQL Log có thể giúp hiểu thao tác đó tương ứng với câu SQL nào.
SQL Log cũng hữu ích khi:
- Debug thao tác database.
- Kiểm tra query.
- Học cách DB Browser làm việc với SQLite.
22. Plot – tạo biểu đồ từ dữ liệu
DB Browser có chức năng Plot cho phép trực quan hóa dữ liệu dưới dạng biểu đồ đơn giản.
Ví dụ dữ liệu:
| Month | Revenue |
|---|---|
| 1 | 120 |
| 2 | 150 |
| 3 | 130 |
có thể được biểu diễn thành biểu đồ để quan sát xu hướng.
Plot trong DB Browser phù hợp để kiểm tra nhanh dữ liệu, nhưng không nhằm thay thế các công cụ phân tích chuyên nghiệp như Excel, Power BI, Python hoặc R.
23. Project File – lưu môi trường làm việc
DB Browser hỗ trợ file project có phần mở rộng:
|
1 |
.sqbpro |
Project File không phải database.
Nó lưu các thiết lập phục vụ quá trình làm việc với database, ví dụ:
- Database đang mở.
- Table đang xem.
- Filter trong Browse Data.
- Cách sắp xếp dữ liệu.
- Một số PRAGMA.
- Các SQL tab đang mở.
- Một số thiết lập giao diện.
Ví dụ:
|
1 2 |
data.db data.sqbpro |
Trong đó:
|
1 2 3 |
data.db = dữ liệu thật data.sqbpro = môi trường làm việc của DB Browser |
Không nên nhầm hai loại file này.
24. Compact Database và VACUUM
Khi xóa nhiều dữ liệu khỏi SQLite, kích thước file database không nhất thiết giảm ngay.
Ví dụ:
|
1 2 3 4 5 |
Database ban đầu: 500 MB Xóa 300 MB dữ liệu File vẫn có thể gần 500 MB |
SQLite có lệnh:
|
1 |
VACUUM; |
để xây dựng lại database và thu hồi không gian không còn sử dụng.
DB Browser cung cấp chức năng compact database giúp thực hiện tác vụ tương tự thông qua giao diện.
Lưu ý: VACUUM có thể cần thêm dung lượng ổ đĩa tạm thời và có thể mất thời gian với database lớn. Nên backup trước khi thực hiện trên dữ liệu quan trọng.
25. Kiểm tra tính toàn vẹn của Database
DB Browser có chức năng:
|
1 2 3 |
Tools ↓ Integrity Check |
Chức năng này thực hiện kiểm tra tính nhất quán bên trong database.
Về bản chất, SQLite có thể thực hiện:
|
1 |
PRAGMA integrity_check; |
Nếu database bình thường, kết quả thường là:
|
1 |
ok |
Integrity Check đặc biệt hữu ích khi:
- Ứng dụng từng bị tắt đột ngột.
- Máy tính mất điện.
- Database xuất hiện lỗi bất thường.
- Nghi ngờ file database bị corrupt.
Integrity Check chỉ là kiểm tra. Không nên xem đây là công cụ tự động sửa mọi database bị hỏng.
26. Mở Database ở chế độ Read-only
Khi chỉ cần kiểm tra dữ liệu, một lựa chọn an toàn là mở database ở chế độ:
|
1 |
Read Only |
Chế độ này đặc biệt hữu ích khi:
- Kiểm tra database production.
- Không muốn vô tình chỉnh sửa dữ liệu.
- Phân tích database của ứng dụng khác.
- Chỉ cần chạy SELECT.
Nguyên tắc tốt là:
Nếu chỉ cần xem dữ liệu, hãy ưu tiên mở database ở chế độ Read-only.
27. Database mã hóa và SQLCipher
SQLite tiêu chuẩn không tự động mã hóa toàn bộ database bằng password.
DB Browser for SQLite có thể làm việc với SQLCipher khi sử dụng phiên bản hỗ trợ SQLCipher.
SQLCipher cho phép database được mã hóa và yêu cầu key hoặc passphrase khi mở.
Trong phiên bản DB Browser có hỗ trợ SQLCipher, có thể sử dụng:
|
1 2 3 |
Tools ↓ Set Encryption |
để thiết lập mã hóa cho database phù hợp.
Lưu ý quan trọng: không phải mọi cơ chế mã hóa SQLite của phần mềm bên thứ ba đều tương thích với SQLCipher.
Nếu ứng dụng sử dụng một cơ chế mã hóa khác, DB Browser có thể không mở được database đó dù file vẫn có phần mở rộng .db.
28. Những lưu ý quan trọng khi sử dụng DB Browser for SQLite
28.1. Luôn backup database trước khi chỉnh sửa quan trọng
Trước khi:
- Xóa nhiều record.
- Modify Table.
- Thay đổi constraint.
- Import dữ liệu lớn.
- VACUUM.
- Thay đổi PRAGMA quan trọng.
nên tạo một bản backup.
Ví dụ:
|
1 2 3 4 5 |
data.db ↓ copy backup/data_before_edit.db |
28.2. Không chỉnh sửa database production trực tiếp nếu không cần thiết
Thay vì:
|
1 2 3 |
production.db ↓ Edit trực tiếp |
nên:
|
1 2 3 4 5 6 7 |
production.db ↓ Copy ↓ test.db ↓ Kiểm tra thay đổi |
Sau khi xác nhận đúng mới áp dụng quy trình phù hợp lên database thật.
28.3. Cẩn thận với Write Changes
Trước khi nhấn:
|
1 |
Write Changes |
hãy kiểm tra lại những gì vừa sửa.
Sau khi commit, việc khôi phục thường phải dựa vào backup hoặc logic phục hồi riêng.
28.4. Cẩn thận với DELETE không có WHERE
Đây là câu lệnh nguy hiểm:
|
1 |
DELETE FROM Customer; |
Nó xóa toàn bộ record.
Nếu chỉ muốn xóa một record:
|
1 2 |
DELETE FROM Customer WHERE id = 10; |
28.5. Cẩn thận với UPDATE không có WHERE
Lệnh:
|
1 2 |
UPDATE Product SET price = 0; |
thay đổi toàn bộ table.
Nếu chỉ muốn cập nhật một sản phẩm:
|
1 2 3 |
UPDATE Product SET price = 350000 WHERE id = 10; |
28.6. Không xóa file WAL, SHM hoặc JOURNAL tùy tiện
Khi một ứng dụng đang sử dụng SQLite, có thể xuất hiện:
|
1 2 3 |
data.db data.db-wal data.db-shm |
hoặc:
|
1 |
data.db-journal |
Không nên xóa các file này chỉ vì cho rằng chúng là file tạm không cần thiết.
Chúng có vai trò trong cơ chế transaction và recovery của SQLite.
28.7. Hạn chế mở database đang được ứng dụng khác ghi liên tục
Có thể xảy ra trường hợp:
|
1 2 3 4 5 6 7 |
Application ↓ đang ghi data.db DB Browser ↓ cũng mở data.db |
SQLite có cơ chế locking, nhưng việc đồng thời chỉnh sửa database từ nhiều chương trình có thể gây:
- Database is locked.
- Busy.
- Khó xác định dữ liệu hiện tại.
- Nhầm lẫn transaction.
Nếu chỉ cần kiểm tra, nên dùng Read-only khi có thể.
28.8. Không nhầm file database với Project File
|
1 2 3 |
.db .sqlite .sqlite3 |
thường là database.
Trong khi:
|
1 |
.sqbpro |
là project của DB Browser, không phải dữ liệu database chính.
28.9. File có đuôi .db chưa chắc là SQLite
Nhiều phần mềm sử dụng phần mở rộng:
|
1 |
.db |
cho các định dạng dữ liệu khác nhau.
Do đó nếu DB Browser báo:
|
1 |
Invalid file format |
thì file đó có thể:
- Không phải SQLite.
- Được mã hóa.
- Bị hỏng.
- Sử dụng một định dạng riêng.
28.10. Không dùng DB Browser như Excel
Mặc dù Browse Data có giao diện giống bảng tính, DB Browser for SQLite là công cụ quản lý database chứ không phải phần mềm spreadsheet.
Nếu cần:
- Công thức phức tạp.
- Pivot Table.
- Dashboard.
- Phân tích thống kê.
nên export dữ liệu sang công cụ chuyên dụng.
29. Quy trình sử dụng an toàn cho người mới
Nếu mới làm quen với DB Browser for SQLite, có thể sử dụng quy trình sau:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
1. Xác định file database ↓ 2. Tạo một bản backup ↓ 3. Mở database bằng DB Browser ↓ 4. Xem Database Structure ↓ 5. Xem Browse Data ↓ 6. Dùng Filter để tìm record ↓ 7. Nếu chỉ kiểm tra → không sửa dữ liệu ↓ 8. Nếu cần sửa → chỉnh sửa cẩn thận ↓ 9. Kiểm tra lại ↓ 10. Write Changes ↓ 11. Chạy query kiểm tra ↓ 12. Đóng database |
Đối với người học SQL, nên thực hành theo thứ tự:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SELECT ↓ INSERT ↓ UPDATE ↓ DELETE ↓ JOIN ↓ GROUP BY ↓ INDEX ↓ VIEW ↓ TRANSACTION |
Không nên bắt đầu bằng việc thực hiện DELETE hoặc ALTER trên database quan trọng.
30. Câu hỏi thường gặp về DB Browser for SQLite
DB Browser for SQLite có miễn phí không?
Có. DB Browser for SQLite là phần mềm mã nguồn mở và có thể tải từ website chính thức.
DB Browser for SQLite có phải SQLite không?
Không hoàn toàn.
SQLite là database engine.
DB Browser for SQLite là chương trình giao diện đồ họa giúp người dùng thao tác với SQLite.
Có thể hình dung:
|
1 2 3 4 5 6 7 |
SQLite = Database Engine DB Browser for SQLite = GUI quản lý SQLite |
DB Browser for SQLite có cần cài Database Server không?
Không.
Nó làm việc trực tiếp với file SQLite.
DB Browser có mở được file .db không?
Có nếu file đó thực sự sử dụng định dạng SQLite tương thích và không bị mã hóa bằng một cơ chế không được hỗ trợ.
DB Browser có chỉnh sửa trực tiếp dữ liệu được không?
Có. Tab Browse Data cho phép thêm, sửa và xóa record.
Sửa dữ liệu xong có cần Save không?
Cần chú ý nút Write Changes.
Đây là thao tác commit những thay đổi đang chờ vào database.
Write Changes khác Save Database như thế nào?
SQLite không hoạt động giống tài liệu Word cần Save As sau mỗi lần chỉnh sửa.
Write Changes dùng để commit transaction đang chứa các thay đổi do người dùng thực hiện.
Revert Changes có phải Undo không?
Nó giúp rollback các thay đổi đang chờ trong transaction hiện tại.
Không nên coi đây là hệ thống Undo vô hạn cho những thay đổi đã được commit trước đó.
DB Browser có chạy được SQL không?
Có. Sử dụng tab Execute SQL.
Ví dụ:
|
1 2 3 |
SELECT * FROM Customer LIMIT 100; |
DB Browser có import Excel trực tiếp không?
Cách phổ biến là lưu dữ liệu Excel thành CSV rồi import CSV vào DB Browser.
|
1 2 3 4 5 6 7 |
Excel ↓ CSV ↓ DB Browser ↓ SQLite |
DB Browser có export ra Excel không?
Có thể export dữ liệu sang CSV rồi mở CSV bằng Excel.
DB Browser có backup database được không?
Có thể export SQL Dump. Ngoài ra với database SQLite đã được đóng đúng cách, việc copy file database cũng là một phương pháp backup phổ biến.
DB Browser có mở được database đang được chương trình khác sử dụng không?
Có thể trong nhiều trường hợp, nhưng tùy vào transaction và locking của database.
Nếu chỉ cần xem dữ liệu, nên ưu tiên Read-only và tránh chỉnh sửa đồng thời với ứng dụng chính.
DB Browser báo Database is locked là gì?
Thông báo này thường xuất hiện khi một connection hoặc chương trình khác đang giữ lock khiến thao tác hiện tại chưa thể thực hiện.
Không nên xử lý bằng cách xóa tùy tiện các file journal, WAL hoặc SHM.
DB Browser có hỗ trợ database có password không?
Nếu database được mã hóa bằng SQLCipher và sử dụng bản DB Browser hỗ trợ SQLCipher thì có thể làm việc với loại database này.
Các cơ chế mã hóa SQLite khác không nhất thiết tương thích.
DB Browser có phù hợp cho người mới học SQLite không?
Có.
Đây là một công cụ phù hợp để học vì người dùng có thể đồng thời:
- Xem cấu trúc database.
- Xem dữ liệu.
- Chạy SQL.
- Xem kết quả.
- Quan sát SQL Log.
31. Kết luận
DB Browser for SQLite là một trong những công cụ thuận tiện nhất để làm việc trực tiếp với database SQLite thông qua giao diện đồ họa.
Thay vì phải sử dụng hoàn toàn bằng command line:
|
1 |
sqlite3 data.db |
người dùng có thể thực hiện hầu hết các thao tác thường gặp thông qua giao diện:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
DB Browser for SQLite │ ├── Database Structure ├── Browse Data ├── Execute SQL ├── Edit Pragmas ├── Import ├── Export ├── SQL Log ├── Plot ├── Integrity Check └── Database Tools |
Đối với người mới, ba chức năng nên làm quen đầu tiên là:
- Database Structure – hiểu cấu trúc database.
- Browse Data – xem và chỉnh sửa dữ liệu.
- Execute SQL – thực hành câu lệnh SQL.
Sau khi đã quen, có thể tiếp tục tìm hiểu:
- Index.
- View.
- Transaction.
- PRAGMA.
- Import/Export.
- SQL Dump.
- VACUUM.
- Integrity Check.
- Project File.
- SQLCipher.
Điều quan trọng nhất khi sử dụng DB Browser không phải là biết tất cả các nút trên giao diện, mà là hiểu rằng mình đang thao tác trực tiếp trên dữ liệu thật của SQLite.
Vì vậy, với database quan trọng, hãy duy trì nguyên tắc:
|
1 2 3 4 5 6 7 8 9 |
Backup trước ↓ Kiểm tra cấu trúc ↓ Thay đổi ↓ Kiểm tra lại ↓ Write Changes |
Nếu chỉ cần xem dữ liệu, hãy ưu tiên chế độ Read-only. Nếu cần sửa cấu trúc hoặc dữ liệu quan trọng, hãy tạo một bản backup trước khi thực hiện.
Với cách sử dụng này, DB Browser for SQLite không chỉ là một công cụ xem database mà còn là một phần mềm rất hữu ích cho việc học SQLite, debug ứng dụng, kiểm tra dữ liệu và quản trị các database SQLite trong quá trình phát triển phần mềm.