[DATABASE/SQLITE] sqlite3.exe 프로그램을 사용해 CSV 파일 로드하기
■ sqlite3.exe 프로그램을 사용해 CSV 파일을 로드하는 방법을 보여준다. 1. 첨부 sqlite-tools-win32-x86-3380200.zip에서 sqlite3.exe 파일의 압축을 푼다. 2. 첨부 TestProject.zip 파일의 압축을 푼다.
■ sqlite3.exe 프로그램을 사용해 CSV 파일을 로드하는 방법을 보여준다. 1. 첨부 sqlite-tools-win32-x86-3380200.zip에서 sqlite3.exe 파일의 압축을 푼다. 2. 첨부 TestProject.zip 파일의 압축을 푼다.
■ 컬럼을 추가하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
ALTER TABLE LIBRARY_DATA_SETTING ADD COLUMN USE_SECURE INTEGER NOT NULL DEFAULT 0; ALTER TABLE LIBRARY_DATA_SETTING ADD COLUMN USE_LARGE_DATA INTEGER NOT NULL DEFAULT 0; |
■ DATETIME 함수를 사용해 지역 시간을 표준 시간으로 변환하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT DATETIME(TEST_LOCAL_TIME, 'UTC') FROM TEST_TABLE; |
■ DATETIME 함수를 사용해 표준 시간을 지역 시간으로 변환하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT DATETIME(TEST_UTC_TIME, 'LOCALTIME') FROM TEST_TABLE; |
■ CURRENT_TIMESTAMP 키워드를 사용해 현재 표준 시간을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT CURRENT_TIMESTAP; |
■ 테이블 컬럼 정보를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
PRAGMA table_info(LIBRARY_CASHBOOK); |
※ LIBRARY_CASHBOOK : 테이블명
■ 임의의 데이터 1건을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 |
SELECT ID FROM LIBRARY_DATA WHERE ROWID >= RANDOM() % (SELECT MAX(ROWID) FROM LIBRARY_DATA) LIMIT 1; |
※ LIBRARY_DATA 테이블에서 임의의 ID 컬럼 값을 추출한다.
■ 로컬 시간을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 |
SELECT UPDATE_TIME AS UTC ,DATETIME(UPDATE_TIME, 'LOCALTIME') AS LOCAL FROM COM_CODE; |
■ 임시 테이블 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT * FROM sqlite_temp_master WHERE type = 'table'; |
■ 인덱스 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT * FROM sqlite_master WHERE TYPE = 'index'; |
■ LAST_INSERT_ROWID 함수를 사용해 마지막 추가 행 ID를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
CREATE TABLE Student ( ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, Name NVARCHAR(100) NOT NULL, Grade INTEGER NULL ); INSERT INTO Student (Name, Grade) VALUES ('홍길동', 3); INSERT INTO Student (Name, Grade) VALUES ('김철수', 2); INSERT INTO Student (Name, Grade) VALUES ('이영희', 5); SELECT LAST_INSERT_ROWID(); |
■ 부분 문자열을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT SUBSTR("1234", 3, 2); |
※ 세번째 문자부터 2개의 문자를 구한다 → "34"
■ WITH문을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 |
WITH StudentSummary AS ( SELECT COUNT(*) AS TotalStudentCount FROM Student ) SELECT SchoolID AS SchoolID, COUNT(*) AS StudentCount, COUNT(*) * 1.0 / (SELECT TotalStudentCount FROM StudentSummary) AS StudentRatio FROM Student GROUP BY SchoolID; |
■ LIMIT, OFFSET 키워드를 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
SELECT * FROM Student WHERE ROWID LIMIT 3 OFFSET 3; |
※ ROWID가 4, 5, 6인 행을 조회한다.
■ ROWID 키워드를 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECT * FROM Student; CREATE TEMPORARY TABLE IF NOT EXISTS TemporaryStudent AS SELECT * FROM Student ORDER BY StudentName DESC; SELECT ROWID, * FROM TemporaryStudent WHERE ROWID LIMIT 2 OFFSET 2; DROP TABLE IF EXISTS TemporaryStudent; |
■ CASE문을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 |
CASE X WHEN 1 THEN A WHEN 2 THEN B ELSE C END |
■ INNER JOIN절을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 |
SELECT A.StudentID ,A.StudentName ,A.SchoolID ,B.SchoolName FROM Student AS A INNER JOIN School AS B ON B.SchoolID = A.SchoolID; |
■ 날짜 문자열로 날짜 타입을 변환하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
SELECT DATETIME('2009-07-01 00:00:00'); SELECT DATE('2009-07-01 00:00:00'); |
■ LEFT OUTER JOIN절을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 |
SELECT A.StudentID ,A.StudentName ,A.SchoolID ,B.SchoolName FROM Student AS A LEFT OUTER JOIN School AS B ON B.SchoolID = A.SchoolID; |
■ 테이블을 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 |
CREATE TABLE IF NOT EXISTS [테이블명] ( [컬럼명1] INTEGER PRIMARY KEY AUTOINCREMENT, [컬럼명2] TEXT, ... ); |
■ 테이블 데이터를 삭제하고 자동 증가 시퀀스를 초기화하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 |
DELETE FROM [테이블명]; DELETE FROM 'sqlite_sequence' WHERE name = '테이블명'; |
■ 테이블의 자동 증가 시퀀스를 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
UPDATE SQLITE_SEQUENCE SET seq = 10 WHERE name = '테이블명'; |
※ 새로운 행 추가시 자동 증가 컬럼값은 11을 갖는다.
■ 테이블 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT * FROM sqlite_master WHERE type = 'table'; |
■ 현재월의 마지막 날짜를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT DATE('NOW', 'START OF MONTH', '+1 MONTHS', '-1 DAY'); |
■ STRFTIME 함수를 사용해 날짜값에서 "yyyyMMdd" 포맷 문자열을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT STRFTIME('%Y%m%d', DATETIME('NOW')); |