Chương này sẽ trình bày các lệnh SQLite hữu ích cho Lập trình viên SQLite. Các lệnh này được gọi là các Dot command trong SQLite. Và bạn nên ghi nhớ là, với các lệnh này, chúng không nên kết thúc với một dấu chấm phảy (;).
Đầu tiên, để bắt đầu, bạn soạn một lệnh sqlite3 đơn giản tại dòng nhắc lệnh. Lệnh này sẽ cung cấp cho bạn một dòng nhắc lệnh SQLite, từ nơi này bạn có thể thông báo các lệnh SQLite khác nhau.
$sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>
Để liệt kê các Dot Command có sẵn trong SQLite, bạn chỉ cần nhập ".help" tại bất cứ lúc nào. Ví dụ:
sqlite>.help
Lệnh trên sẽ hiển thị một danh sách các lệnh Dot Command quan trọng trong SQLite, bao gồm:
Lệnh
Miêu tả
.backup ?DB? FILE
Sao lưu cơ sở dữ liệu (mặc định là "main") tới FILE
.bail ON|OFF
Dừng lại sau khi gặp một lỗi. Mặc định là OFF
.databases
Liệt kê tên và các file của Attached Databases
.dump ?TABLE?
Chuyển Database thành một định dạng SQL text. Nếu TABLE được xác định thì chỉ chuyển các bảng mà so khớp với LIKE pattern TABLE.
.echo ON|OFF
Bật/tắt lệnh echo
.exit
Thoát khỏi SQLite prompt
.explain ON|OFF
Bật chế độ output mode phù hợp với EXPLAIN on hoặc off. Nếu không có tham số nào, nó sẽ là EXPLAIN on
.header(s) ON|OFF
Bật/tắt sự hiển thị của các header
.help
Hiển thị thông báo này
.import FILE TABLE
Nhập dữ liệu từ FILE vào TABLE
.indices ?TABLE?
Hiển thị tên của tất cả chỉ mục. Nếu TABLE được xác định, chỉ hiển thị các chỉ mục cho các bảng mà so khớp với LIKE pattern TABLE
.load FILE ?ENTRY?
Tải một Extension library
.log FILE|off
Bật/tắt chế độ log vào file. FILE có thể là stderr/stdout
.mode MODE
Thiết lập output mode, với MODE là một trong các tùy chọn:
csv: Các giá trị phân biệt nhau bởi dấu phảy
column: Các cột căn chỉnh trái
html: HTML
code
insert: Lệnh SQL insert cho TABLE
line: Một giá trị mỗi dòng
list: Một giá trị mỗi dòng
tabs: Các giá trị phân biệt nhau bởi tab
tcl: Các phần tử liệt kê TCL
.nullvalue STRING
In STRING thay cho các giá trị NULL
.output FILENAME
Gửi output tới FILENAME
.output stdout
Gửi output tới màn hình
.print STRING...
In hằng chuỗi
.prompt MAIN CONTINUE
Thay thế dòng nhắc lệnh chuẩn
.quit
Thay thế dòng nhắc lệnh chuẩn
.read FILENAME
Thực thi SQL trong FILENAME
.schema ?TABLE?
Hiển thị các lệnh CREATE. Nếu TABLE được xác định, chỉ hiển thị các bảng mà so khớp với LIKE pattern TABLE
.separator STRING
Thay đổi separator được sử dụng bởi output mode và .import
.show
Hiển thị các giá trị hiện tại cho các thiết lập đa dạng
.stats ON|OFF
Bật/tắt stats
.tables ?PATTERN?
Liệt kê tên của các bảng mà so khớp với một LIKE pattern
.timeout MS
Thử mở các bảng đã khóa cho MS milliseconds
.width NUM NUM
Thiết lập độ rộng cột cho "column" mode
.timer ON|OFF
Bật/tắt CPU timer measurement
Chẳng hạn, bạn thử lệnh .show để xem thiết lập mặc định cho dòng nhắc lệnh SQLite của bạn.
sqlite>.show
echo: off
explain: off
headers: off
mode: column
nullvalue: ""
output: stdout
separator: "|"
width:
sqlite>
Nhớ rằng không có khoảng trống giữa dòng nhắc sqlite> prompt và Dot Command, nếu không thì lệnh bạn nhập sẽ không làm việc.
Định dạng output trong SQLite
Bạn có thể sử dụng dãy lệnh Dot Command sau để định dạng output của bạn theo cách đã được trình bày ở trên, ví dụ:
sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>
Thiết lập trên sẽ tạo output trong định dạng sau:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
CPU Time: user 0.000000 sys 0.000000
Giới thiệu sqlite_master Table
Master Table giữ thông tin quan trọng về các bảng trong Database của bạn và nó được gọi là sqlite_master. Bạn thông báo lệnh sau để thấy Schema của nó:
sqlite>.schema sqlite_master
Lệnh này sẽ cho kết quả:
CREATE TABLE sqlite_master (
type text,
name text,
tbl_name text,
rootpage integer,
sql text
);