SQLite - Truy vấn CHỌN

SQLite SELECTcâu lệnh được sử dụng để tìm nạp dữ liệu từ bảng cơ sở dữ liệu SQLite trả về dữ liệu ở dạng bảng kết quả. Các bảng kết quả này còn được gọi làresult sets.

Cú pháp

Sau đây là cú pháp cơ bản của câu lệnh SQLite SELECT.

SELECT column1, column2, columnN FROM table_name;

Ở đây, column1, column2 ... là các trường của một bảng, có các giá trị mà bạn muốn tìm nạp. Nếu bạn muốn tìm nạp tất cả các trường có sẵn trong trường, thì bạn có thể sử dụng cú pháp sau:

SELECT * FROM table_name;

Thí dụ

Xem xét bảng COMPANY với 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

Sau đây là một ví dụ để tìm nạp và hiển thị tất cả các bản ghi này bằng cách sử dụng câu lệnh SELECT. Ở đây, ba lệnh đầu tiên đã được sử dụng để đặt đầu ra được định dạng đúng.

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;

Cuối cùng, bạn sẽ nhận được kết quả 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

Nếu bạn chỉ muốn tìm nạp các trường đã chọn của bảng COMPANY, thì hãy sử dụng truy vấn sau:

sqlite> SELECT ID, NAME, SALARY FROM COMPANY;

Truy vấn trên sẽ tạo ra kết quả sau.

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

Đặt chiều rộng cột đầu ra

Đôi khi, bạn sẽ gặp phải sự cố liên quan đến đầu ra bị cắt ngắn trong trường hợp .mode columnđiều này xảy ra do chiều rộng mặc định của cột được hiển thị. Những gì bạn có thể làm là, bạn có thể đặt chiều rộng cột có thể hiển thị bằng cách sử dụng.width num, num.... lệnh như sau:

sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;

Trên .width lệnh đặt chiều rộng cột đầu tiên là 10, chiều rộng cột thứ hai là 20 và chiều rộng cột thứ ba là 10. Cuối cùng, câu lệnh SELECT ở trên sẽ cho kết quả như 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

Thông tin lược đồ

Như tất cả dot commands có sẵn tại lời nhắc SQLite, do đó trong khi lập trình với SQLite, bạn sẽ sử dụng câu lệnh SELECT sau với sqlite_master bảng để liệt kê tất cả các bảng được tạo trong cơ sở dữ liệu của bạn.

sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';

Giả sử bạn chỉ có bảng COMPANY trong testDB.db của mình, điều này sẽ tạo ra kết quả sau.

tbl_name
----------
COMPANY

Bạn có thể liệt kê đầy đủ 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 của mình, điều này sẽ tạo ra kết quả sau.

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
)