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列,這是因為要顯示的列的默認寬度。可以設置顯示的列柱 .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
Schema 信息:
因為所有的點命令是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 )