SQLite - SELECT Query

SQLite SELECTdeclaração é usada para buscar os dados de uma tabela de banco de dados SQLite que retorna dados na forma de uma tabela de resultados. Essas tabelas de resultados também são chamadasresult sets.

Sintaxe

A seguir está a sintaxe básica da instrução SQLite SELECT.

SELECT column1, column2, columnN FROM table_name;

Aqui, coluna1, coluna2 ... são os campos de uma tabela, cujos valores você deseja buscar. Se você deseja buscar todos os campos disponíveis no campo, você pode usar a seguinte sintaxe -

SELECT * FROM table_name;

Exemplo

Considere a tabela COMPANY com os seguintes registros -

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

A seguir está um exemplo para buscar e exibir todos esses registros usando a instrução SELECT. Aqui, os três primeiros comandos foram usados ​​para definir uma saída formatada corretamente.

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

Finalmente, você obterá o seguinte resultado.

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

Se você deseja buscar apenas os campos selecionados da tabela COMPANY, use a seguinte consulta -

sqlite> SELECT ID, NAME, SALARY FROM COMPANY;

A consulta acima produzirá o seguinte resultado.

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

Configurando a largura da coluna de saída

Às vezes, você enfrentará um problema relacionado à saída truncada no caso de .mode columno que acontece devido à largura padrão da coluna a ser exibida. O que você pode fazer é definir a largura da coluna exibível usando.width num, num.... comando da seguinte forma -

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

O de cima .width O comando define a largura da primeira coluna em 10, a largura da segunda coluna em 20 e a largura da terceira coluna em 10. Finalmente, a instrução SELECT acima fornecerá o seguinte resultado.

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

Informação de esquema

Como todo o dot commands estão disponíveis no prompt SQLite, portanto, ao programar com SQLite, você usará a seguinte instrução SELECT com sqlite_master tabela para listar todas as tabelas criadas em seu banco de dados.

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

Supondo que você tenha apenas a tabela COMPANY em seu testDB.db, isso produzirá o seguinte resultado.

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

Você pode listar informações completas sobre a tabela COMPANY da seguinte forma -

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

Supondo que você tenha apenas a tabela COMPANY em seu testDB.db, isso produzirá o seguinte resultado.

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