SQLite: consulta SELECT

SQLite SELECTLa declaración se utiliza para obtener los datos de una tabla de base de datos SQLite que devuelve datos en forma de tabla de resultados. Estas tablas de resultados también se denominanresult sets.

Sintaxis

A continuación se muestra la sintaxis básica de la declaración SQLite SELECT.

SELECT column1, column2, columnN FROM table_name;

Aquí, column1, column2 ... son los campos de una tabla, cuyos valores desea obtener. Si desea obtener todos los campos disponibles en el campo, puede usar la siguiente sintaxis:

SELECT * FROM table_name;

Ejemplo

Considere la tabla EMPRESA con los siguientes 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 continuación se muestra un ejemplo para obtener y mostrar todos estos registros mediante la instrucción SELECT. Aquí, los primeros tres comandos se han utilizado para configurar una salida formateada correctamente.

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

Finalmente, obtendrás el siguiente 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

Si desea obtener solo los campos seleccionados de la tabla EMPRESA, utilice la siguiente consulta:

sqlite> SELECT ID, NAME, SALARY FROM COMPANY;

La consulta anterior producirá el siguiente 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

Configuración del ancho de la columna de salida

A veces, se enfrentará a un problema relacionado con la salida truncada en caso de .mode columnlo que sucede debido al ancho predeterminado de la columna que se mostrará. Lo que puede hacer es establecer el ancho de columna visualizable de la columna usando.width num, num.... comando de la siguiente manera:

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

Lo anterior .width El comando establece el ancho de la primera columna en 10, el ancho de la segunda columna en 20 y el ancho de la tercera columna en 10. Finalmente, la instrucción SELECT anterior dará el siguiente 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

Información del esquema

Como todos los dot commands están disponibles en el indicador SQLite, por lo tanto, mientras programa con SQLite, usará la siguiente instrucción SELECT con sqlite_master table para enumerar todas las tablas creadas en su base de datos.

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

Suponiendo que solo tiene la tabla EMPRESA en su testDB.db, esto producirá el siguiente resultado.

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

Puede enumerar la información completa sobre la tabla EMPRESA de la siguiente manera:

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

Suponiendo que solo tiene la tabla EMPRESA en su testDB.db, esto producirá el siguiente resultado.

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