SQLite (có lẽ) đã có sẵn trên máy bạn
Trước khi cài gì, hãy kiểm tra xem máy đã có gì. SQLite có sẵn trên macOS, trên hầu hết các bản phân phối Linux, và nằm bên trong vô số ứng dụng bạn đang dùng. Mở terminal và chạy:
sqlite3 --version
Nếu thấy dòng giống như 3.43.2 2023-10-10 ..., bạn đã xong: hãy chuyển thẳng đến phần kiểm tra ở cuối trang. Nếu nhận được command not found hoặc phiên bản cũ hơn 3.35, hãy đọc tiếp. Chúng ta sẽ lần lượt đi qua Windows, macOS và Linux.
Thứ bạn đang cài là công cụ dòng lệnh sqlite3. Thư viện mà các chương trình liên kết tới là một gói riêng, nhưng hầu hết bộ cài đều gộp chung cả hai.
Windows: tải về và thêm vào PATH
Windows không có sẵn SQLite, và cũng không có trình cài đặt kiểu truyền thống: SQLite được phát hành dưới dạng một tệp zip nhỏ chứa các tệp thực thi, bạn đặt ở đâu tùy thích.
- Vào sqlite.org/download.html.
- Trong mục Precompiled Binaries for Windows, tải tệp có tên
sqlite-tools-win-x64-*.zip. - Giải nén vào một thư mục.
C:\sqlitelà lựa chọn phổ biến. - Thêm thư mục đó vào
PATHđể có thể chạysqlite3từ bất kỳ thư mục nào.
Cách thêm vào PATH: mở menu Start, tìm "environment variables", nhấn Edit the system environment variables, rồi Environment Variables..., tìm Path trong phần biến của người dùng, nhấn Edit và thêm C:\sqlite thành một mục mới.
Mở một cửa sổ terminal mới (thay đổi PATH không áp dụng cho các terminal đang mở) và kiểm tra:
sqlite3 --version
Bạn sẽ thấy chuỗi phiên bản. Nếu nhận được 'sqlite3' is not recognized, nghĩa là thư mục chưa nằm trong PATH hoặc terminal mới chưa nhận thay đổi.
macOS: dùng Homebrew để có phiên bản mới nhất
macOS có sẵn sqlite3, nhưng bản của hệ thống thường cũ hơn bản gốc một đến hai năm. Để học theo hướng dẫn hay dùng thông thường thì như vậy là đủ. Nếu muốn có các tính năng mới (bảng STRICT, cải tiến về JSON, window function tốt hơn), hãy cài bản mới với Homebrew:
brew install sqlite
Homebrew cài SQLite vào thư mục riêng của nó và cố ý không ghi đè bản của hệ thống. Để dùng bản Homebrew làm mặc định, hãy đặt nó lên đầu PATH. Thêm dòng này vào ~/.zshrc:
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
(Trên máy Mac chip Intel, dùng /usr/local/opt/sqlite/bin.) Tải lại shell bằng source ~/.zshrc và kiểm tra:
sqlite3 --version
Nếu phiên bản vẫn cũ, nghĩa là sqlite3 của hệ thống đang được ưu tiên trong PATH: hãy kiểm tra lại xem dòng export có nằm trước mọi thay đổi PATH khác không.
Linux: dùng trình quản lý gói
Gần như mọi bản phân phối Linux đều có SQLite trong kho mặc định. Lệnh cài khác nhau tùy bản phân phối:
# Debian, Ubuntu, Mint
sudo apt update
sudo apt install sqlite3
# Fedora, RHEL, CentOS Stream
sudo dnf install sqlite
# Arch, Manjaro
sudo pacman -S sqlite
# Alpine
sudo apk add sqlite
Tên gói là sqlite3 trên các hệ thuộc họ Debian và chỉ là sqlite trên hầu hết các hệ khác. Tất cả đều cài công cụ dòng lệnh sqlite3 cùng thư viện dùng chung mà các chương trình khác dùng để nhúng SQLite.
Nếu cần phiên bản mới nhất mà bản phân phối của bạn còn cũ, bạn có thể build từ mã nguồn: tải tarball amalgamation từ sqlite.org rồi chạy ./configure && make && sudo make install. Với 99% người dùng, phiên bản từ trình quản lý gói là đủ.
Kiểm tra bản cài đặt
Dù bạn cài theo cách nào, hai bước kiểm tra sau đều cho biết mọi thứ có chạy đúng không. Đầu tiên là phiên bản:
sqlite3 --version
Bạn sẽ thấy số phiên bản, ngày và một mã hash của bản build. Sau đó mở SQLite shell mà không truyền tham số nào, bạn sẽ có một cơ sở dữ liệu trong bộ nhớ để thử nghiệm:
sqlite3
Bạn sẽ thấy dấu nhắc có dạng sqlite>. Gõ một truy vấn nhỏ để chắc chắn engine thật sự chạy:
Bạn sẽ nhận lại chuỗi phiên bản và lời chào. Để thoát shell, gõ .quit rồi nhấn Enter. Dấu chấm ở đầu rất quan trọng: đó là cách SQLite phân biệt lệnh của shell (.quit, .help, .tables) với câu lệnh SQL.
Những trục trặc thường gặp
Vài điều hay khiến người mới vấp ở lần cài đầu tiên:
sqlite3: command not foundsau khi cài. Tệp thực thi nằm đâu đó trên máy nhưng không có trong PATH. Trên Windows, hãy kiểm tra lại biến môi trường. Trên macOS dùng Homebrew, hãy chắc chắn dòngexport PATH=...có trong tệp cấu hình shell và bạn đã mở một terminal mới.- macOS hiện sai phiên bản.
sqlite3của hệ thống nằm ở/usr/bin/sqlite3và gần như luôn được ưu tiên mặc định. Chạywhich sqlite3để xem shell đang chọn bản nào. Bản Homebrew cần đứng trước trong PATH. .quitkhông hoạt động. Có lẽ bạn đã gõquitmà thiếu dấu chấm ở đầu, và SQLite cố hiểu nó như câu lệnh SQL. Luôn bắt đầu lệnh của shell bằng..- Lỗi không có quyền ghi khi tạo tệp cơ sở dữ liệu. SQLite cần quyền ghi vào thư mục nơi bạn chạy nó. Hãy
cdtới một thư mục có quyền ghi trước, hoặc truyền đường dẫn cụ thể:sqlite3 ~/mydb.db.
Nếu sqlite3 --version chạy được và bạn thực thi được một câu SELECT, bạn đã sẵn sàng. Mọi nội dung còn lại trong chương trình học này đều dựa trên công cụ CLI bạn vừa cài.
Tiếp theo: SQLite CLI
Giờ sqlite3 đã nằm trong PATH, bước tiếp theo là học cách điều khiển nó. Shell có một nhóm nhỏ lệnh bắt đầu bằng dấu chấm (.tables, .schema, .mode, .import) biến nó thành một trình khách cơ sở dữ liệu mạnh hơn bạn tưởng, và đó là nội dung của trang tiếp theo.
Câu hỏi thường gặp
Làm sao để cài SQLite trên Windows?
Tải tệp zip sqlite-tools từ sqlite.org, giải nén vào một thư mục như C:\sqlite rồi thêm thư mục đó vào PATH. Sau đó mở một terminal mới và chạy sqlite3 --version để kiểm tra. Không có trình cài đặt nào cả: SQLite chỉ là một tệp thực thi duy nhất.
Làm sao để cài SQLite trên macOS?
macOS đã có sẵn sqlite3, nên thường bạn chỉ cần chạy nó. Muốn có phiên bản mới nhất, hãy cài qua Homebrew: brew install sqlite. Homebrew giữ SQLite luôn được cập nhật nhưng không thay thế bản của hệ thống: bạn có thể phải chỉnh PATH nếu muốn bản mới được ưu tiên.
Làm sao để cài SQLite trên Ubuntu hoặc các bản Linux khác?
Trên Debian và Ubuntu, chạy sudo apt install sqlite3. Trên Fedora là sudo dnf install sqlite. Trên Arch là sudo pacman -S sqlite. Trình quản lý gói sẽ cài công cụ dòng lệnh sqlite3 cùng thư viện dùng chung.
Làm sao kiểm tra SQLite đã được cài chưa?
Mở terminal và chạy sqlite3 --version. Nếu SQLite đã được cài và nằm trong PATH, bạn sẽ thấy số phiên bản và ngày build. Nếu nhận được 'command not found', nghĩa là SQLite chưa được cài hoặc thư mục cài đặt chưa nằm trong PATH.