SQLite Инструкция SELECT
SQLiteSELECTSELECT statement используется для извлечения данных из таблиц базы данных SQLite, возвращая данные в виде таблиц результатов. Эти таблицы результатов также называются результирующими наборами.
Синтаксис
Базовый синтаксис инструкции SELECT в SQLite выглядит следующим образом:
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
Информация о схеме
Поскольку всеточечные командыдоступны только в приглашении 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 )Другие расширения