SQLite Select 語句

2022-02-21 13:35 更新

SQLite 的 SELECT 語句用于從 SQLite 數(shù)據(jù)庫表中獲取數(shù)據(jù),以結(jié)果表的形式返回?cái)?shù)據(jù)。這些結(jié)果表也被稱為結(jié)果集。

語法

SQLite 的 SELECT 語句的基本語法如下:

SELECT column1, column2, columnN FROM table_name;

在這里,column1, column2...是表的字段,他們的值即是您要獲取的。如果您想獲取所有可用的字段,那么可以使用下面的語法:

SELECT * FROM table_name;

實(shí)例

假設(shè) 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

下面是一個(gè)實(shí)例,使用 SELECT 語句獲取并顯示所有這些記錄。在這里,前兩個(gè)個(gè)命令被用來設(shè)置正確格式化的輸出。

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

最后,將得到以下的結(jié)果:

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;

上面的查詢會產(chǎn)生以下結(jié)果:

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

設(shè)置輸出列的寬度

有時(shí),由于要顯示的列的默認(rèn)寬度導(dǎo)致 .mode column,這種情況下,輸出被截?cái)?。此時(shí),您可以使用 .width num, num.... 命令設(shè)置顯示列的寬度,如下所示:

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

上面的 .width 命令設(shè)置第一列的寬度為 10,第二列的寬度為 20,第三列的寬度為 10。因此上述 SELECT 語句將得到以下結(jié)果:

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

Schema 信息

因?yàn)樗械狞c(diǎn)命令只在 SQLite 提示符中可用,所以當(dāng)您進(jìn)行帶有 SQLite 的編程時(shí),您要使用下面的帶有 sqlite_master 表的 SELECT 語句來列出所有在數(shù)據(jù)庫中創(chuàng)建的表:

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

假設(shè)在 testDB.db 中已經(jīng)存在唯一的 COMPANY 表,則將產(chǎn)生以下結(jié)果:

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

您可以列出關(guān)于 COMPANY 表的完整信息,如下所示:

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

假設(shè)在 testDB.db 中已經(jīng)存在唯一的 COMPANY 表,則將產(chǎn)生以下結(jié)果:

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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號