SQLite-SELECT 쿼리
SQLite SELECT문은 결과 테이블의 형태로 데이터를 반환하는 SQLite 데이터베이스 테이블에서 데이터를 가져 오는 데 사용됩니다. 이러한 결과 테이블은result sets.
통사론
다음은 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
스키마 정보
모두 dot commands 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
)