鍍金池/ 教程/ 數(shù)據(jù)庫/ SQLite Select 語句
SQLite Having 子句
SQLite 運算符
SQLite 注入
SQLite Delete 語句
SQLite – Python
SQLite 數(shù)據(jù)類型
SQLite 簡介
SQLite 創(chuàng)建數(shù)據(jù)庫
SQLite Vacuum
SQLite Group By
SQLite 日期 & 時間
SQLite AND/OR 運算符
SQLite 刪除表
SQLite Distinct
SQLite Alter 命令
SQLite PRAGMA
SQLite 約束
SQLite 創(chuàng)建表
SQLite Like 子句
SQLite Limit 子句
SQLite Autoincrement
SQLite 子查詢
SQLite – C/C++
SQLite – PHP
SQLite 命令
SQLite Order By
SQLite Select 語句
SQLite Unions 子句
SQLite – Perl
SQLite – Java
SQLite 別名
SQLite 常用函數(shù)
SQLite Explain(解釋)
SQLite NULL 值
SQLite Glob 子句
SQLite 表達式
SQLite 視圖
SQLite Where 子句
SQLite Truncate Table
SQLite 索引
SQLite Insert 語句
SQLite 安裝
SQLite Indexed By
SQLite 分離數(shù)據(jù)庫
SQLite 觸發(fā)器
SQLite 語法
SQLite Joins
SQLite Update 語句
SQLite 附加數(shù)據(jù)庫
SQLite 事務

SQLite Select 語句

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

語法

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

Schema 信息

因為所有的點命令只在 SQLite 提示符中可用,所以當您進行帶有 SQLite 的編程時,您要使用下面的帶有 sqlite_master 表的 SELECT 語句來列出所有在數(shù)據(jù)庫中創(chuàng)建的表:

    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
    )
上一篇:SQLite – Perl下一篇:SQLite Having 子句