Truy vấn SELECT trong SQLite
Lệnh SELECT trong SQLite được sử dụng để lấy dữ liệu từ một bảng dữ liệu trong SQLite. Lệnh này trả về dữ liệu trong dạng bảng kết quả. Các bảng kết quả này cũng được gọi là các tập hợp kết quả.
Cú pháp
Cú pháp cơ bản của lệnh SELECT trong SQLite như sau:
SELECT column1, column2, columnN FROM table_name;
Ở đây, column1, column2, …, column là các trường của một bảng mà có các giá trị bạn muốn lấy. Nếu bạn muốn lấy tất cả giá trị của các trường, thì bạn có thể sử dụng cú pháp sau:
SELECT * FROM table_name;
Ví dụ
Bạn theo dõi bảng COMPANY có các bản ghi 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
Ví dụ sau sẽ lấy và hiển thị tất cả các bản ghi bởi sử dụng lệnh SELECT. Ở đây, 2 lệnh đầu tiên đã được sử dụng để thiết lập định dạng của output:
sqlite>.header on sqlite>.mode column sqlite> SELECT * FROM COMPANY;
Bạn sẽ nhận được kết quả là:
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
Nếu bạn chỉ muốn lấy các trường đã chọn từ bảng COMPANY, bạn sử dụng truy vấn sau:
sqlite> SELECT ID, NAME, SALARY FROM COMPANY;
Truy vấn trên sẽ cho kết quả:
ID NAME SALARY ---------- ---------- ---------- 1 Paul 20000.0 2 Allen 15000.0 3 Teddy 20000.0 4 Mark 65000.0 5 David 85000.0 6 Kim 45000.0 7 James 10000.0
Thiết lập độ rộng của cột trong output
Đôi khi, bạn sẽ gặp một tình huống liên quan tới việc output bị cắt xén trong trường hợp .mode column xuất hiện bởi vì độ rộng mặc định của cột đã được hiển thị. Điều bạn có thể làm là thiết lập độ rộng cột với lệnh .width num, num… (num là giá trị số) như sau:
sqlite>.width 10, 20, 10 sqlite>SELECT * FROM COMPANY;
Lệnh .width trên thiết lập độ rộng cột đầu tiên là 10, của cột thứ hai là 20 và của cột thứ ba là 10. Và sau đây là kết quả của lệnh SELECT trên:
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
Thông tin Schema trong SQLite
Bởi vì tất cả các lệnh Dot Command là có sẵn chỉ tại dòng nhắc lệnh SQLite, vì thế trong khi lập trình với SQLite, bạn sẽ sử dụng lệnh sau để liệt kê tất cả các bảng đã tạo trong cơ sở dữ liệu của mình với lệnh SELECT sau:
sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';
Giả sử bạn chỉ có bảng COMPANY trong testDB.db, thì lệnh trên sẽ cho kết quả:
tbl_name ---------- COMPANY
Bạn có thể liệt kê toàn bộ thông tin về bảng COMPANY, như sau:
sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';
Giả sử bạn chỉ có bảng COMPANY trong testDB.db, thì lệnh trên sẽ cho kết quả:
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL )
Các bài học SQLite phổ biến khác tại VietJack:
- SQLite - Xóa bảng
- SQLite - Truy vấn Insert
- SQLite - Truy vấn Select
- SQLite - Toán tử
- SQLite - Biểu thức
- SQLite - Mệnh đề Where