SQLite란?
SQLite는 가볍고 빠른 임베디드형 데이터베이스 관리 시스템(DBMS)입니다.
특히 파일 하나만으로 데이터베이스를 구성할 수 있는 점이 가장 큰 장점입니다.
SQL 기반 관계형 데이터베이스(RDBMS)
서버 없이 동작 (파일 기반, 임베디드형)
설치가 필요 없음 (라이브러리만 포함하면 됨!)
SQLite를 쓰는 이유
가볍고 설치가 필요 없음
MySQL, PostgreSQL처럼 별도의 서버 설치가 필요 없음
하나의 .sqlite3 파일만 있으면 모든 데이터 관리 가능
메모리가 적은 환경에서도 잘 작동 (IoT, 모바일 앱에서 많이 사용)
SQL 설치 https://www.sqlite.org/download.html
실습 내용
1. 파일 만들기
2. 테이블 만들기
3. table에 데이터 입력
4. table 데이터 출력
실습할 데이터는 https://www.kaggle.com/datasets/prasad22/healthcare-dataset 에서 다운받으시고 데이터 2개정도만
복붙 하시면 됩니다.
Healthcare Dataset
Dummy data with Multi Category Classification Problem
www.kaggle.com
가장 먼저 파일을 만들어주겠습니다.
만약 파일이 존재한다면 그 파일을 open하는 것이고 open할 파일이 존재하지 않는다면 파일을 만드는 것 입니다.
SQLite 파일 생성
SQLite에서는 .sqlite3 파일을 생성하고, 존재하면 해당 파일을 열어 사용합니다.
.open FileName.sqlite3
- .open FileName.sqlite3 → FileName.sqlite3 파일을 열거나 없으면 새로 생성합니다.
- SQLite에서 .으로 시작하는 명령어는 제어 명령어(OS 역할)을 합니다.
- 이 코드를 직관적으로 해석해보자면 .open Filename.sqlite3 Filename.sqlite3이라는 파일을 open한다는 뜻 입니다.
테이블 생성
이제 SQLite 파일이 준비되었으니, 데이터를 저장할 테이블을 생성해봅시다.
CREATE TABLE Kaggle_HealthDatasets (
Age INT,
Gender VARCHAR(10),
"Blood Type" VARCHAR(10),
"Medical Condition" VARCHAR(10),
"Date of Admission" VARCHAR(20),
Doctor VARCHAR(30),
Hospital VARCHAR(20),
"Insurance Provider" VARCHAR(15),
"Billing Amount" FLOAT
);
여기서 주목해야 할 점은 VARCHAR입니다. C와 마찬가지로 문자열의 길이를 사전에 지정하여 메모리 낭비를 줄이는 역할을 합니다. 띄어쓰기를 해야할 변수명이 생긴다면 파이썬의 문자열 처리 처럼 묶어주면 됩니다.
현재 테이블 확인하기
테이블이 잘 생성되었는지 확인하려면 다음 명령어를 실행하세요.
.schema
.schema로 명령을 제어해주시면 자신이 현재 파일에서 만든 table이 출력 됩니다.
테이블에 데이터 삽입
테이블이 생성되었으니 데이터를 직접 넣어보겠습니다.
이 테이블 속성에 해당하는 데이터를 직접 넣어주겠습니다.
데이터를 넣을 때 에는 insert into table명 values( 값) ;으로 지정해주시면 됩니다.
insert into Kaggle_HealthDatasets values(62,'Male','A+','Obesity','2019-08-20','Samantha Davies','Kim Inc','Medicare',33643.32729);
데이터를 입력 하실 때 데이터의 유형을 고려하셔서 넣으셔야 올바르게 들어갑니다.
이와 같이 총 2개의 데이터를 테이블에 넣고 출력해보겠습니다.
select * from Kaggle_HealthDatasets
이와 같이 출력됨을 알 수 있습니다.
select * from table명 -> table에 해당하는 * (전체) 를 선택해서 출력한다는 의미입니다.
여기서 *는 모든 데이터를 가져오겠다는 역할을 합니다.
가독성 좋은 출력 모드 사용
기본 출력 방식은 가독성이 떨어질 수 있습니다. 이를 개선하려면 .mode table 명령어를 사용하면 됩니다.
.mode table
SELECT * FROM Kaggle_HealthDatasets;
이전보다 더욱 깔끔하게 나온 것을 확인할 수 있습니다.
SQLite 파일 생성 | .open FileName.sqlite3 | 파일을 열거나 생성 |
테이블 생성 | CREATE TABLE 테이블명 (...) | 테이블 만들기 |
데이터 삽입 | INSERT INTO 테이블명 VALUES (...) | 데이터 추가 |
데이터 조회 | SELECT * FROM 테이블명; | 전체 데이터 출력 |
가독성 개선 | .mode table | 표 형태로 보기 쉽게 출력 |
'SQL' 카테고리의 다른 글
데이터베이스 구축과 설계 (2) | 2025.03.28 |
---|---|
데이터 전처리 (0) | 2025.03.21 |