SQLite - SELECT 查詢



SQLite SELECT 語句用於從 SQLite 資料庫表中獲取資料,並以結果表的形式返回資料。這些結果表也稱為結果集

語法

以下是 SQLite SELECT 語句的基本語法。

SELECT column1, column2, columnN FROM table_name;

這裡,column1、column2... 是表的欄位,您希望獲取其值。如果您想獲取表中所有可用的欄位,則可以使用以下語法 -

SELECT * FROM table_name;

示例

考慮 COMPANY 表,其中包含以下記錄 -

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

以下是一個使用 SELECT 語句獲取並顯示所有這些記錄的示例。這裡,前三個命令已用於設定格式正確的輸出。

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

最終,您將獲得以下結果。

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

如果您只想獲取 COMPANY 表中選定的欄位,則使用以下查詢 -

sqlite> SELECT ID, NAME, SALARY FROM COMPANY;

以上查詢將產生以下結果。

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

設定輸出列寬

有時,在使用.mode column時,您會遇到輸出被截斷的問題,這是因為要顯示的列的預設寬度導致的。您可以使用.width num, num....命令設定列的可顯示列寬,如下所示 -

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

上面的.width命令將第一列的寬度設定為 10,第二列的寬度設定為 20,第三列的寬度設定為 10。最後,上面的 SELECT 語句將給出以下結果。

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

模式資訊

由於所有點命令都可以在 SQLite 提示符下使用,因此在使用 SQLite 進行程式設計時,您將使用以下 SELECT 語句與sqlite_master表一起列出資料庫中建立的所有表。

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

假設您的 testDB.db 中只有 COMPANY 表,這將產生以下結果。

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

您可以列出有關 COMPANY 表的完整資訊,如下所示 -

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

假設您的 testDB.db 中只有 COMPANY 表,這將產生以下結果。

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